我想实现文件夹的拖放,并读取所有文件及其内容。这很简单。但是,为了跟踪上载进度,我需要文件大小,但是在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);