我的表单中有多个输入 type=file
标记。有时会隐藏一个,有时会动态创建多个。我希望在我的表单提交中检查每个文件的文件大小,然后将它们相加并检查它是否超过我设置的最大值。
我编写了以下代码:
function AcceptableFileUpload() {
var totalsize = 0;
var fileUploads = $("#form1 input[type=file]").length;
for (var i = 0; i < fileUploads; i++) {
//I added this to check whether there is any file here
//as I was receiving undefined when my hidden input file was checked
if ($('#form1 input[type=file]').get(i).length > 0) {
var filesize = $('#form1 input[type=file]').get(i).files[0].size;
totalsize = +filesize;
}
}
if (totalsize > 1073741) {
alert("File size limit exceeded");
return false;
}
return true;
}
当我只使用 var filesize = $('#form1 input[type=file]').get(0).files[0].size;
我正确地得到了文件大小,但它并没有按照我上面写的方式工作,它说大小始终为 0。感谢您的帮助,谢谢!
最佳答案
你可以试试
function AcceptableFileUpload() {
var totalsize = 0;
$('#form1 input:file').each(function(){
if($(this).val().length > 0){
totalsize=totalsize+$(this)[0].files[0].size;
}
});
if (totalsize > 1073741) {
alert("File size limit exceeded");
return false;
}
return true;
}
关于javascript - 总文件上传输入标签大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446655/