3

我正在使用 HTML 标记将文件上传到服务器:

<input type="file">

当我单击浏览按钮时,它会显示一个文件打开对话框。我可以通过将扩展过滤器传递给该对话框来过滤文件吗?就像我们可以在 .Net 框架的文件打开对话框中通过传递以下内容一样:

Text files *.txt|.txt

使用这个过滤器我们只能打开.txt文件。未向用户显示的其他文件。这个对话框有什么选项吗?

4

4 回答 4

4

标准

实际上,在 HTML5 中,您可以设置accept属性,所以现在这是可能的!W3C 标准规定:

可以指定accept属性以向用户代理提供将接受哪些文件类型的提示。

接受的值 [维基百科中的完整列表]

只需将有效的MIME 类型传递给属性,例如:

  • audio/*
  • video/*
    • video/ogg
  • image/*
    • image/jpg
    • image/bmp

示例代码

<input type="file" accept="image/*">
于 2013-09-29T01:32:30.560 回答
2

我的问题是,我可以通过将扩展过滤器传递给该对话框来过滤文件吗?

不,您不能使用普通type="file"输入来执行此操作。您可以使用一些Flash 上传控件来实现这一点。

于 2011-07-10T13:16:11.957 回答
1

我认为您无法编辑此对话框选项,但您可以在用户选择文件后验证该文件。

要编辑对话框,我记得您可以通过 flash 或 Silverlight 上传器(例如 swfUpload)来完成。

于 2011-07-10T13:16:34.263 回答
0

这是我在需要过滤某些文件类型时想到的一段代码:

<input type="file" accept=".xls, .xlsx, .csv" placeholder="File to be upload" />

Accept 属性支持多个文件以逗号分隔。

于 2018-08-07T09:52:36.003 回答