我想实现文件夹的拖放并读取所有文件及其内容。这很简单。
但是,为了跟踪上载进度,我需要文件大小,但是它在File
对象中不存在,我尝试查看__proto__
但什么也没有。
有人知道如何获得它吗?谢谢
function traverseFileTree(item,path) {
path = path || "";
if (item.isFile) {
// Get file
item.file(function(file) {
console.log(file.size); // undefined
});
} else if (item.isDirectory) {
// Get folder contents
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
for (var i=0; i<entries.length; i++) {
traverseFileTree(entries[i],path + item.name + "/");
}
});
}
}
dropArea.addEventListener("drop",function(event) {
event.preventDefault();
var items = event.dataTransfer.items;
for (var i=0; i<items.length; i++) {
var item = items[i].webkitGetasEntry();
if (item) {
traverseFileTree(item);
}
}
},false);