这是我的上传输入,无论我尝试它还是拒绝显示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文件。
答案 0 :(得分:3)
我找不到有效的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年!)有些模糊:
允许INPUT标记的ACCEPT属性,这是一个媒体列表 允许输入的类型或类型模式。
当Firefox找到无法识别的值时,它似乎默认为“所有文件”,因此这在某种程度上是用户友好的(虽然并不理想)。
答案 1 :(得分:2)
编辑:您是否尝试添加:accept=".pps"
?
<input type="file"
accept="application/pdf,
application/vnd.ms-powerpoint,
application/vnd.openxmlformats-officedocument.presentationml.slideshow,
application/vnd.openxmlformats-officedocument.presentationml.presentation,
.pps"
name="upldInput"/>