我正在使用<input type="file">
上传音频文件。
要做到这一点,我正在使用accept="audio/*"
。因此,浏览器的文件选择对话框默认仅显示音频文件。但是,有一个名为&#34;所有文件&#34;在那个我不想要的对话框中。
(注意 - 欢迎使用Javascript,jQuery和AngularJs中的任何解决方案)
如何禁用/删除&#34;所有文件&#34;选项?
答案 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
注意:这不在标准轨道上。