【问题标题】:How to specify list of files in HTML form?如何以 HTML 格式指定文件列表?
【发布时间】:2011-09-04 10:20:48
【问题描述】:

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

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

【问题讨论】:

  • 是的,你必须使用 javascript

标签: html html-input


【解决方案1】:

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

【讨论】:

  • OP 要求提供 txt 文件而非图像的方法
【解决方案2】:

在您的验证中,您可以检查文件类型,或者您可以使用 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 很容易被绕过

【讨论】:

    【解决方案3】:

    是的,使用 accept 属性。

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

    【讨论】:

      猜你喜欢
      • 2012-01-28
      • 2018-03-04
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 2019-09-28
      相关资源
      最近更新 更多