1
我有一個循環列出目錄中的文件。它在第一級工作正常。FileSystem API - 從目錄拖放中遞歸列出文件
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);
}
}
};
你如何傳遞參數? – 2014-10-16 19:10:53
難道你不能將'item.name'附加到現有的'directoryPath'而不是替換值嗎?然後你將保留整個路徑,而不僅僅是當前目錄。即'var directoryPath + = item.name' – aarosil 2014-10-16 19:12:03
@MohammadAreebSiddiqui看到我的編輯 – AllTheTime 2014-10-16 19:16:19