如何过滤文件输入以便它只显示一种类型的文件?

时间:2014-11-30 11:07:08

标签: javascript html css vbscript

如何过滤文件输入以便它只显示一种类型的文件?我试过这个,但它不起作用:

<input type="file" value="*.docx"/>

3 个答案:

答案 0 :(得分:4)

您可以将accept属性添加到<input>元素,以便只允许浏览某些文件扩展名:

<input type="file" value="*.docx" accept=".doc,.docx" />

参考 - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

  

如果type属性的值是file,则此属性指示服务器接受的文件类型;否则会被忽略。该值必须是以逗号分隔的唯一内容类型说明符列表:

     
      
  • 以STOP字符(U + 002E)开头的文件扩展名。 (例如:&#34; .jpg,.png,.doc&#34;)
  •   
  • ...
  •   

请记住,很容易绕过这个&#34;限制&#34;任何HTML知识最少的人都可以浏览并选择“不支持”#34;通过在单击浏览按钮之前修改页面上的实际HMTL元素来确定文件类型。

答案 1 :(得分:0)

正如Lix所说,你可以使用accept属性,你可以按照本页所述使用它:

HTML accept Attribute

但具体的“.docx”扩展在某些浏览器中的accept属性存在一些问题。我建议你使用提交的java脚本检查。

答案 2 :(得分:0)

我在VBScript中发现了一些有用的东西:

<object id="Dlg" classid="CLSID:3050F4E1-98B5-11CF-BB82-00AA00BDCE0B" width="0" height="0"></object>
<script type="text/vbscript">
Sub OpenFile
     s = Dlg.openfiledlg(, , CStr("Word-documents (*.doc;*.docx;*.docm)|*.doc;*.docx;*.docm|"), CStr("Choose File"))
     If (Len(s) = 0) Then
          MsgBox "No file was selected."
     Else
          i2 = InStr(s, Chr(0))
          If i2 > 1 Then  s = Left(s, (i2 - 1))
          MsgBox "The selected file is " & s
     End If
End Sub
</script>
<button onclick="OpenFile">Open file</button>
相关问题