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