在我的项目中,我使用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>
最佳答案
在您的更改函数中,使用 alert(this.files[0].size);
这是 jQuery 的一个有趣警告。 JQuery 不会像普通的 JavaScript 那样返回 dom 的所有属性。 jQuery 不返回文件属性。您可以使用以下代码访问 jQuery 的第一个匹配的 dom 元素:
$("#yourFileInput")[0].files[0].size;
关于javascript - 上传文件前使用ajaxSubmit时如何获取文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46801361/