如何检查文件输入字段数组是否上传了文件?

时间:2017-06-05 09:37:06

标签: javascript php jquery forms jquery-file-upload

我有一个文件数组,我希望能够提交表单,即使文件输入字段为空,但如果它们不为空,则检查它是否大于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;
        }

        }

1 个答案:

答案 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 ;  
    }
}

您可以根据自己的要求进行调整。我希望它对你有用。 谢谢,祝你好运。