如何以 HTML 形式指定文件列表?

发布于 2024-11-10 09:02:36 字数 114 浏览 0 评论 0原文

当您在应用程序中使用 时,您会看到默认包含所有文件的文件选择对话框。

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

When you use a <input type="file"> in your application you get the file select dialog box with all files as default.

Is there a way to specify file types for that? Is it possible for example to select ".txt" files only?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梨涡少年 2024-11-17 09:02:36

这真的很简单。您要做的就是添加一个 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 来完成此操作,方法是在选择文件后检查文件类型,但您不想在之前检查 用户选择一个文件?

This is really simple. All you do is add an accept attribute that defines what file extensions you'd like to allow.

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

That input would allow only gif and jpegs, but you can allow any comma separated list.

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

edit: sure, you can do this with javascript too, by checking the filetype after selecting a file, but wouldn't you rather check before the user selects a file?

自在安然 2024-11-17 09:02:36

在验证时,您可以检查文件类型,也可以使用更改事件来确定文件类型。

<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 很容易被绕过

on your validation you can check the file type or you can use the on change event to determine the file type.

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

Javascript part

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

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

in this case only txt or jpg will be accepted. but of course you will have to revalidate on the server side because javascript can easily be bypassed

烟雨扶苏 2024-11-17 09:02:36

是的,使用 accept 属性。

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

Yes, with the accept attribute.

Any ol' garbage can be posted regardless of what you put in the HTML form so make sure to validate that the correct file type has been posted server-side.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文