我正在创建一个拖放文件上传区域。当我一次上传多个文件时,它可以工作,但我需要它能够支持分阶段上传。我知道下面的问题在于每次设置文件,但我无法找到正确的方法来让更多文件每次被调用该方法时添加到dFiles中。
var dFiles;
//var dFiles = []
var holder = document.getElementById('holder');
holder.ondrop = function (e) {
e.preventDefault();
dFiles = (e.dataTransfer.files);
//dFiles.push(e.dataTransfer.files);
}
我尝试将dfiles初始化为空数组并添加文件(上面已注释)。后来,当我读取文件数据时,这导致了数据类型不匹配错误。
for (var i = 0; i < dFiles.length; i++) {
reader = new FileReader();
reader.readAsDataUrl(dFiles[i]); //error
}
dFiles.concat
而不是dFiles.push
,因为dFiles
已经是一个数组了。 - Sylvain