如何获取html5文件输入仅在浏览器中一致地接受某些文件类型?

前端之家收集整理的这篇文章主要介绍了如何获取html5文件输入仅在浏览器中一致地接受某些文件类型?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 this answer on Stack Overflow,我们可以设置< input type =“file”/>的accept属性.过滤接受的输入,如下所示:
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"

不过,您可以注意到运行以下简单的代码段,Chrome 43.0.something似乎完全忽略了这一配置,而Firefox 39.0完全可以理解.

我认为切换到一个更钝的方法,使用:

accept=".xls,.xlsx"

…在Chrome中可以正常工作,但使Firefox变得混乱,只接受使用.xlsx扩展名的文件.

考虑到这可能是非常普遍和基本的,我一定会错过一些东西:我在哪里拧紧?如何获取html5文件输入,以在浏览器中始终只提供.xls和.xlsx文件

这是一个代码片段,用于说明我的问题(连同一个JSFiddle link,如果你想弄脏它).

Accepts application/vnd.ms-excel and the likes:<br />
<label for="file1">File input</label>
<input type="file" name="file1" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"/>
<hr />
Accepts .xls and .xlsx:<br />
<label for="file2">File input</label>
<input type="file" name="file2" accept=".xls,.xlsx"/>

解决方法

传输它们都是MIME类型和扩展名
<input type="file" name="file2" accept="text/csv,.csv"/>

猜你在找的HTML5相关文章