0

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

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 />
4

1 回答 1

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);

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

于 2013-01-17T20:53:17.060 回答