2017-06-05 7 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

関連する問題