在 PHP 上,他们有一种方法可以在上传后限制文件大小,但不能在上传前限制文件大小。我用 Malsup jQuery Form Plugin用于我的表单发布,它支持图像文件发布。
我想知道是否有限制我可以设置多少字节可以通过 AJAX 流传递到服务器?这可以让我检查文件大小并在文件太大时返回错误。
通过在客户端执行此操作,它可以阻止那些使用宾得拍摄 10MB 照片并尝试上传照片的新手。
最佳答案
这是我在一个非常相似的问题中的回答的副本:How to check file input size with jQuery?
您实际上无权访问文件系统(例如读取和写入本地文件)。但是,由于 HTML5 文件 API 规范,您确实可以访问一些文件属性,文件大小就是其中之一。
对于这个 HTML:
<input type="file" id="myFile" />
尝试以下操作:
//binds to onchange event of your input field
$('#myFile').bind('change', function() {
//this.files[0].size gets the size of your file.
alert(this.files[0].size);
});
因为它是 HTML5 规范的一部分,它只适用于现代浏览器(IE 需要 v10),我添加了 here有关您应该了解的其他文件信息的更多详细信息和链接:http://felipe.sabino.me/javascript/2012/01/30/javascipt-checking-the-file-size/
旧浏览器支持
请注意,旧浏览器会为之前的 this.files
调用返回一个 null
值,因此访问 this.files[0]
将引发异常,您应该 check for File API support使用前
关于javascript - 使用 jQuery,在上传前限制文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/307679/