使用多个文件选择时确定总文件大小

时间:2013-01-17 20:49:07

标签: javascript html

我有一些文件要求条件适用于单个文件选择,但是当使用多个文件时,它只计算第一个文件。我需要它来确定所有选定文件的总和,并且所有选定文件都具有可接受的文件扩展名。有谁知道我如何编辑这些条件?

var file = document.getElementById('file'); 
var ext = file.value.substring(file.value.lastIndexOf('.') + 1);

   if(ext!== "mp4" && ext!== "m4v" && ext!== "fv4"){
       alert('not an accepted file extension');
         return false;
} else

   if (file.files[0].size >= 11000000) {
       alert("File too Big");
          return false; 
}

  <input name="uploaded[]"  id="file" type="file" multiple />

1 个答案:

答案 0 :(得分:1)

您可以将.files映射到其大小,然后添加这些尺寸:http://jsfiddle.net/83F7B/

var sizes = [].map.call(this.files, function(v) {
  return v.size;
});

var totalSize = sizes.reduce(function(a, b) {
  return a + b;
}, 0);

您还可以使用.files遍历forEach并检查每个文件的扩展名(或使用.every)。