html5文件输入始终接受“未知”文件类型

我正在编写Web应用程序,需要用户选择csv文件.但是,由于要求用户拥有带有多个后缀的文件,因此通常会有多个具有相似名称文件,而其中只有一个是.csv.问题是accept =“.csv”只能部分工作 – 它允许用户通过csv进行过滤,但认情况下不会按未知文件类型进行过滤
<fieldset name="inputForm">
  <legend>Input</legend>

  <label>Input file:</label>
  <input name="inputFile" type="file" accept=".csv">
</fieldset>

我也试过accept =“text / csv,.csv”,但它没有改变任何东西.

结果:

用户可能会意外选择.txt文件或.png之一,这会导致应用程序因输入文件格式错误而出现故障.用户可以选择仅使用CSV进行过滤或仅选择“未知”过滤,但我更喜欢将CSV仅作为认过滤器,因为很明显没有人会切换文件过滤选项,所以实际上它是无用的……

解决方法

不幸的是,这是操作系统行为,不在浏览器的范围内. accept属性主要是为了便于在前端使用而不是真正的验证.我建议使用JavaScript或服务器端验证来确保所选文件是所需的正确mime类型.

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码