这是我的上传输入,无论我尝试什么,它都拒绝显示 Powerpoint PPS 文件。
它显示 PDF、PPT、PPTX、PPSX 但不显示 PPS
<input type="file"
accept="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.slideshow,application/vnd.openxmlformats-officedocument.presentationml.presentation"
name="upldInput"/>
所有浏览器的行为都相同,没有人显示 PPS 文件。
最佳答案
我找不到有效的 MIME 类型。但是,以下确实有效:
<input type="file" accept="application/pdf,.pps" name="upldInput"/>
显然你可以 mix and match文件扩展名和 MIME 类型。在 Chrome 25 和 IE 10 (PC) 上,这提供了所需的行为,即仅显示匹配的 MIME 类型或扩展。
我也试过混合使用多个扩展名和多个 MIME 类型,这似乎也有效。
<input type="file"
accept=".pps,
.jpg,
.txt,
application/pdf,
application/vnd.ms-powerpoint,
application/vnd.openxmlformats-officedocument.presentationml.slideshow,
application/vnd.openxmlformats-officedocument.presentationml.presentation" name="upldInput"/>
演示:http://jsfiddle.net/GGFVv/2/
我应该注意到,文件扩展名过滤似乎在 Firefox 19 中不起作用。我想这是因为 W3C 和 WHATWG 定义的行为之间存在差异。
原始提及 accept
(1995 年!)有点含糊:
Allow an ACCEPT attribute for INPUT tag, which is a list of media types or type patterns allowed for the input.
当 Firefox 发现它无法识别的值时,它似乎默认为“所有文件”,因此这在某种程度上对用户友好(尽管并不理想)。
关于html - 输入类型文件接受不显示 PPS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708332/