使用 javascript/jquery 验证文件上传 [重复]

Posted

技术标签:

【中文标题】使用 javascript/jquery 验证文件上传 [重复]【英文标题】:Validate file upload with javascript/jquery [duplicate] 【发布时间】:2013-03-15 18:36:27 【问题描述】:

好吧,这很令人沮丧。我在谷歌上搜索了很多关于如何验证所选文件(上传)扩展名和大小但在文件大小问题上没有成功。我在 asp.net 中有一个图像上传控件(用于上传图像),但扩展名和文件大小在服务器上进行了验证。这就是它的工作原理。如果用户提交的 1GB 文件是重命名为 .jpg 的电影文件怎么办?

例如 Twitter 以某种方式设法在客户端验证输入文件,包括扩展名和文件大小。在提交到服务器之前,有人知道如何做到这一点吗?

谢谢!

LE:不,没有 html5。并非所有浏览器都支持它。我也需要一个在 IE 7 和 8 中工作的解决方案!

【问题讨论】:

看起来你在这里看起来也不是很努力。 ***.com/questions/4112575/… 这有点太简单了:google.com/search?q=jquery+file+upload+validation ...我使用github.com/valums/file-uploader 进行异步上传,但如果你愿意,你可以使用验证位 【参考方案1】:

如果用户浏览器支持 html5 fileapi,您可以从文件输入中读取文件大小。

document.getElementById('file').files[0].size  //size of file in bytes
document.getElementById('file').files[0].name  //name of file
document.getElementById('file').files[0].type  //mime type

【讨论】:

感谢您的回答,但如果我错了请纠正我,并非所有现代浏览器都支持 html5。 IE 7 和 8 ,可能事件 9 不支持它?我也需要一种方法来解决这些问题。 您说的是现代浏览器,但您称其为 IE7 和 8(和 9)?如果您希望它在我认为不是一个好主意的所有这些浏览器中工作,您可能需要研究特定于浏览器的解决方案,例如 IE 中的 ActiveXObject 甚至 dum dum dum Flash。 【参考方案2】:

正如 Musa 所指出的,HTML5 api 可能会过滤掉大多数情况。

也有一些专有的 ActiveX 方法可以做到这一点,但支持有点未知。

如果您坚持不使用 html5,Flash 可以为您进行检查,您可以查看类似 swfupload https://code.google.com/p/swfupload/

【讨论】:

以上是关于使用 javascript/jquery 验证文件上传 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript / jQuery 进行简单的数字验证

使用 Javascript /jQuery 的 Bootstrap 4 表单验证

使用Javascript / jQuery进行Bootstrap 4表单验证

Javascript/Jquery 验证按键/keydown 上的十进制输入

Javascript / jQuery - 隐藏字段时禁用验证

小吃店验证 MDL - Javascript/Jquery