2012-02-16 70 views
1

我使用jQuery表单插件通过AJAX上传我的文件,我也想检查每个文件的大小是否超过20mb,然后再将它们发送到服务器。我发现了HTML5示例this,但我无法弄清楚如何将它与我的代码放在一起。在多个文件中获取JavaScript文件大小

$(document).ready(function(){ 
    $('.form-videos').ajaxForm({ 
     success : function(data){ 
      alert(data); 
     }, 
     beforeSubmit : function(){ 
      var fileInput = $('.form-videos :input[type=file]'); 
      var totalFiles = $('.form-videos :input[type=file]').get(0).files.length; 

      for (i = 0; i < totalFiles; i++) 
      { 
       alert('what?'); // This works and prints out correctly for every file 
       // How do I get current file size? 
      } 
     } 
    }); 
}); 

回答

2

您应该可以;

var files = $('.form-videos :input[type=file]').get(0).files; 
for (i = 0; i < files.length; i++) 
{ 
    if (files[i].size > 20971520) ... 
} 
+0

你能告诉我们如何在IE中做同样的事情吗? – SMC 2013-03-06 18:44:42

0

查看示例here

在您的示例中,length仅仅是选定文件的数量。您需要访问个人File对象及其size属性。