programing

HTML 파일 입력에서 '모든 파일' 옵션 제거

newstyles 2023. 3. 20. 21:43

HTML 파일 입력에서 '모든 파일' 옵션 제거

사용하고 있다<input type="file">오디오 파일을 업로드합니다.

내가 사용하고 있는 그것을 하기 위해서accept="audio/*"이 때문에 브라우저의 파일 선택 대화상자에는 기본적으로 오디오 파일만 표시됩니다.그러나 이 대화 상자에는 원하지 않는 "모든 파일"이라는 옵션이 있습니다.

(주의 - Javascript, jQuery 및 AngularJs의 솔루션도 모두 환영합니다)

여기에 이미지 설명 입력

"모든 파일" 옵션을 비활성화/삭제하려면 어떻게 해야 합니까?

이것은 브라우저의 범위 밖이며 OS에 따라 다르다고 생각합니다.하지만, 어떤 경우든 간에, 저는 이것이 어쨌든 당신이 건드릴 일이 아니라고 생각합니다.

accept(문제가 되지 않을 수도 있지만) 최선의 지원은 없습니다.http://www.iana.org/assignments/media-types/media-types.xhtml#audio 를 보시면 알 수 있듯이 허용 가능한 타입의 수는 어플리케이션의 범위 밖일 수 있습니다.서버측 검증을 실행하는 것이 가장 좋습니다.accept클라이언트 표시기로만 사용할 수 있습니다.

또한 오래된 답변이지만 여전히 적절하고 유효하다고 생각합니다.파일 입력 'accept' 특성 - 유용합니까?

지금은 윈도우를 사용하여 가능합니다.File System Access API에 showOpenFilePicker가 있습니다.유일한 문제는 2020년 10월 이후 Chrome에서만 사용할 수 있다는 것입니다.

  const files = await window.showOpenFilePicker({     
    
    types: [
          {
            description: 'Audio Files',
            accept: {
              'audio/*': ['.mp3','.wav'],//Extensions you want to allow
            },
          },
        ],
        excludeAcceptAllOption: true, // this hides all files option
        multiple: false,
});

API 사양: https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API

주의: 이것은 표준 트랙이 아닙니다.

언급URL : https://stackoverflow.com/questions/24114493/remove-all-files-option-from-html-file-input