FileSystem API - 递归列出目录拖放中的文件

时间:2014-10-16 19:08:27

标签: javascript html5-filesystem

我有一个循环列出目录中的文件。它在第一级工作正常。

Folder/1.jpg
Folder/2.jpg

但如果我在主文件夹中有一个文件夹......

Folder/nestedFolder/

console.log吐出

nestedFolder/1.jpg

但我希望它能够记录

Folder/nestedFolder/1.jpg

这是我的方法

function traverseFileTree(item,path){
  path = path || "";
  if (item.isFile){
    console.log(path + item.name);
  } else if (item.isDirectory){
    var directoryPath = item.name
    var dirReader = item.createReader();
    dirReader.readEntries(function(entries){
      for (var i=0; i < entries.length; i++){
        traverseFileTree(entries[i], directoryPath + "/")
      }
    });
  }
}

这就是在

中传递目录的地方
function handleDrop(e) {
  var items = e.dataTransfer.items;
  var length = items.length;
  for (var i = 0; i < length; i++) {
    var item = items[i].webkitGetAsEntry();
    if(item){
      traverseFileTree(item);
    }
  }
};

1 个答案:

答案 0 :(得分:-1)

只需要改变

var directoryPath = item.name

var directoryPath = path + item.name