从html5中获取文件大小,拖放一个文件夹

问题描述 投票:1回答:1

我想实现文件夹的拖放,并读取所有文件及其内容。这很简单。但是,为了跟踪上载进度,我需要文件大小,但是在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);
javascript html dom drag-and-drop
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.