2017-06-05 68 views
1

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

以下是可以帮助您满足您的需求的功能。该函数可以处理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 ; 
    } 
} 

您可以按照您的要求调整它。我希望它能为你工作。 谢谢,有一个伟大的时间。

+0

谢谢!我会尝试 – Mikethetechy

相关问题