2017-10-18 13 views
1

私のプロジェクトでは、ファイルをアップロードするためにajaxSubmitを使用します。ファイルをアップロードする前にajaxSubmitを使用するときにファイルサイズを取得する方法

ファイルサイズは制限されています。したがって、ファイルを送信する前に、すぐにアップロードされたファイルのサイズを確認したいと思います。

ファイルボタンをクリックすると、alert("test")が正常に動作します。しかし、alert(ufile.size)の作業は失敗します。

私は$('#fId').files[0]$('#fulId').files[0]を試しましたが、どちらも失敗します。ここで

は私のjsのコードです:あなたの変更機能で

<div class="attFile"> 
    <input type="file" id="fulId" name="mypic"> 
</div> 
+0

の可能な複製を、次の試してみてください[でファイルの入力サイズを確認する方法jQuery?](https://stackoverflow.com/questions/1601455/how-to-check-file-input-size-with-jquery) –

答えて

2

、これはjQueryの興味深い注意点ですalert(this.files[0].size);

を使用します。

$(function() { 
$("#fulId").wrap("<form id='fId' action='action.php' method='post' enctype='multipart/form-data'></form>"); 
$("#fulId").change(function(){ 
    alert("test"); 
    $("#fId").ajaxSubmit({ 
     dataType:'json', 
     beforeSend: function(){ 
     //var ufile=$('#fId').files[0]; 
     var ufile=$('#fulId').files[0]; 
     alert(ufile.size); 
     }, 
     uploadProgress: function(){}, 
     success: function(){}, 
     error:function(){} 
    }); 
    }); 

ここでは、HTMLコードがあります。通常のJavaScriptのように、JQueryはdomのすべてのプロパティを返しません。ファイルプロパティはjQueryによって返されません。あなたは、あなたのjQueryの最初にマッチしたDOM要素にアクセスするには、次のコードを使用することができます。

$("#yourFileInput")[0].files[0].size; 
1

コード

$('#myUP').bind('change', function() { 
 
    
 
    alert("File size in bytes "+ this.files[0].size); 
 

 
});
<input type="file" id="myUP" /><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

関連する問題