删除所有文件' HTML文件输入中的选项

时间:2014-06-09 06:03:05

标签: javascript jquery html html5 angularjs

我正在使用<input type="file">上传音频文件。

要做到这一点,我正在使用accept="audio/*"。因此,浏览器的文件选择对话框默认仅显示音频文件。但是,有一个名为&#34;所有文件&#34;在那个我不想要的对话框中。

(注意 - 欢迎使用Javascript,jQuery和AngularJs中的任何解决方案)

enter image description here

如何禁用/删除&#34;所有文件&#34;选项?

2 个答案:

答案 0 :(得分:22)

我认为这超出了浏览器的范围,更适合操作系统。然而,尽管如此,我认为这不是你应该搞乱的事情。

accept没有最好的支持(虽然可能不是问题),但正如您在此处所见:http://www.iana.org/assignments/media-types/media-types.xhtml#audio允许类型的绝对数量可能超出了您的范围无论如何申请。您应该做的最好的事情是执行服务器端验证,仅使用accept作为客户端指示符。

此外,虽然这是一个较旧的答案,但我认为它仍然相关且有效:File input 'accept' attribute - is it useful?

答案 1 :(得分:0)

现在可以使用文件系统访问 API 中存在的 window.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

注意:这不在标准轨道上。