javascript - 上传文件前使用ajaxSubmit时如何获取文件大小

标签 javascript jquery

在我的项目中,我使用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/

相关文章:

循环内的 JavaScript 闭包——简单实用的例子

Javascript 在使用 localStorage 重新加载时不保留 div id?

javascript - 如何从 Hub 中删除用户?

jquery - 无法使我的整个盒子大小的 <li> 元素成为超链接

javascript - 如何滚动流 JQuery UI 对话框

javascript - 页面滚动时滑入和滑出按钮

javascript - AngularJS - $event 为函数和 UI 传递,但为 'undefined' ?

javascript - 追加时出现"undefined"错误?

javascript - 如何重定向到新页面?

jquery - css 查找第一个 child 给出了错误的结果