在我的项目中,我使用ajaxSubmit上传文件。
文件大小应该受到限制。所以在发送文件之前,我想立即检查上传文件的大小。
单击文件按钮时,alert("test")
成功运行。但alert(ufile.size)
失败了。
我尝试了$('#fId').files[0]
和$('#fulId').files[0]
,但它们都失败了。
这是我的js代码:
$(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代码:
<div class="attFile">
<input type="file" id="fulId" name="mypic">
</div>
答案 0 :(得分:2)
在更改功能中,使用alert(this.files[0].size);
这是一个有趣的jQuery警告。与普通的JavaScript一样,JQuery不会返回dom的所有属性。并且jQuery不返回file属性。您可以使用以下代码访问jQuery的第一个匹配的dom元素:
$("#yourFileInput")[0].files[0].size;
答案 1 :(得分:1)
尝试以下代码
$('#myUP').bind('change', function() {
alert( "File size in bytes "+ this.files[0].size);
});
&#13;
<input type="file" id="myUP" /><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
&#13;