1

当您<input type="file">在应用程序中使用 a 时,您会看到文件选择对话框,其中所有文件都是默认的。

有没有办法为此指定文件类型?例如是否可以仅选择“.txt”文件?

4

3 回答 3

3

这真的很简单。您所做的只是添加一个accept属性,该属性定义您希望允许的文件扩展名。

<input type="file" accept="image/gif,image/jpeg">

该输入将只允许 gif 和 jpeg,但您可以允许任何逗号分隔的列表。

见: http ://www.cs.tut.fi/~jkorpela/forms/file.html#filter http://www.w3schools.com/tags/att_input_accept.asp

编辑:当然,您也可以使用 javascript 来执行此操作,方法是在选择文件后检查文件类型,但您不想在用户选择文件之前检查吗?

于 2011-05-29T19:56:01.513 回答
1

在您的验证中,您可以检查文件类型,或者您可以使用 on change 事件来确定文件类型。

<input name='upload' id='file' type='file' />

Javascript 部分

var file = document.getElementById('file');

if (file.value.test(/(\.txt)|(\.jpg)/gi)) { // case insensitive
  // then validate
}

在这种情况下,只接受 txt 或 jpg。但当然你必须在服务器端重新验证,因为 javascript 很容易被绕过

于 2011-05-29T19:58:56.680 回答
0

是的,带有accept属性。

无论您在 HTML 表单中输入什么内容,都可以发布任何 ol' 垃圾,因此请确保验证服务器端发布了正确的文件类型。

于 2011-05-29T19:58:18.487 回答