我有一个文件数组,我希望能够提交表单,即使文件输入字段为空,但如果它们不为空,则检查它是否大于5Mb。我可以检查文件是否大于5Mb,如果是,那么它会阻止表单提交。但如果输入文件字段为空,表单将不允许我提交。请帮忙
if (window.File && window.FileReader && window.FileList && window.Blob){
//get the file size and file type from file input field
var fsize = $('.upload_files')[0].files[0].size;
if(fsize>5242880) //do something if file size more than 1 mb (1048576)
{
error_alert("file size is too big! please choose a smaller file");return false;
}
}
答案 0 :(得分:1)
这是有助于满足您需求的功能。此函数可以使用n个文件对象,您可以将其设置为回调,也可以在任何事件上调用。请仔细阅读。
function checkFileSize() {
$total_file_size = $file_size = 0 ;
$file_selected = false ;
$('input:file').each(function() {
$file_size = 0 ;
$obj = this.files[0] ;
if (typeof($obj) == 'undefined'){
$file_size = 0 ;
}
else {
$file_selected = true ;
$file_size = $obj.size ;
}
$total_file_size += $file_size ;
}) ;
if($file_selected) {
if($total_file_size <= 5242880) {
return true ;
}
alert('File size is greater than 5MB') ;
return false ;
}
else {
return false ;
}
}
您可以根据自己的要求进行调整。我希望它对你有用。 谢谢,祝你好运。