输入类型=文件“接受”属性在Chrome中不起作用?

时间:2018-03-07 14:40:30

标签: html5 file google-chrome input file-extension

已通过相当多的文档,但似乎没有在Chrome中使用这个非常基本的东西。

<input type="file" accept=".jpg, .png"/>

打开的对话框只显示扩展程序下拉列表中的“自定义文件”。请参阅此Fiddle

enter image description here

它似乎只适用于单个扩展规范。也尝试使用一些mime类型无济于事。

2 个答案:

答案 0 :(得分:4)

由于此帖子有活跃的赏金,我无法将其标记为重复,但我强烈建议您阅读同一主题上的this其他stackoverflow帖子。我认为它为您的问题提供了正确的信息。干杯!

答案 1 :(得分:1)

我同意@Eugenio的评论。您可以在客户端和服务器端验证它。

如果您使用accept="image/*"代替Custom Files,则会显示Image Files

enter image description here

&#13;
&#13;
 function validate() {
  var fileName = document.getElementById("fileType").value;
  var dot = fileName.lastIndexOf(".") + 1;
  var extFile = fileName.substr(dot, fileName.length).toLowerCase();
  if (extFile == "jpg" || extFile == "jpeg") {
   //accepted
  } else {
   alert("Only jpg and jpeg image files allowed!");
  }
 }
&#13;
<input type="file" id="fileType" accept="image/*" onchange="validate()"/>
&#13;
&#13;
&#13;