【问题标题】:how to validate input type = 'file' with javascript?如何使用 javascript 验证输入类型 = 'file'?
【发布时间】:2009-11-10 17:55:14
【问题描述】:

出于安全原因,您不能在表单中更改 input type = 'file' 的值。 但是是否可以使用 javascript 读取值,然后检查扩展并验证表单?或者这也是安全漏洞?

一些例子可以减轻我的痛苦......

谢谢

【问题讨论】:

  • 是的,您可以读取值来验证它:stackoverflow.com/questions/71944/…
  • 一旦您读取/验证了文件名,这有多大帮助?用户可以为文件命名任何内容。
  • 考虑使用swfupload.org 吗?这是 Flash 文件上传器 - 它提供类型、最大大小等验证以及进度条和取消按钮

标签: javascript forms


【解决方案1】:

您只能读取文件名和扩展名,例如:'file.zip'。它不会告诉你路径,除非你使用的是 IE。

这是一个简单的例子:

<input type="file" onblur="alert(this.value)" />

这将为您提供文件名 + 扩展名..

【讨论】:

  • 好的,那我该怎么做,这对我来说就足够了......一些javascript函数,或者只是file.value工作?
【解决方案2】:

当然您可以读取该值。只需像对其他所有表单元素一样阅读并验证它。你自己试过了吗?这个特殊的问题并没有让我这么认为。非常感谢您的bit更多编程工作。

【讨论】:

    【解决方案3】:

    当然,您可以从input.value 读取文件名的扩展名。但这对你没有任何好处。您不知道用户操作系统下的各种文件类型映射了哪些文件扩展名,甚至不知道用户的操作系统使用文件扩展名进行文件输入。 OS X 和 Linux 用户很可能提交根本没有文件扩展名的文件。

    没有什么比不接受您的 JPEG 的愚蠢文件上传更糟糕的了,因为它认为 JPEG 必须以“.jpg”结尾。

    【讨论】:

      猜你喜欢
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      相关资源
      最近更新 更多