我正在创建Chrome应用程序。我必须阅读目录的文件,并使用DirectoryEntry API和DirectoryReader API。
我的问题是使用DirectoryReader #readEntries读取的最大文件数为100,前100个(字母顺序)
var reader = currentDir.createReader();
var read = reader.readEntries.bind(reader, function(files) {
for ( var i = 0; i < files.length; i++){
if (files[i].name == nameSearches){
callback(files[i]);
}
}
})
callback(undefined)
}
read();
files.length
的值为100
,目录中有更多文件
我不确定此限制是关于谷歌浏览器,谷歌浏览器应用程序,Javascript ......以及是否可以克服此限制
标记结果代码的解决方案是:
var reader = currentDir.createReader();
var read = reader.readEntries.bind(reader, function(files) {
if (files.lenght == 0) {
callback(undefined);
}
for ( var i = 0; i < files.length; i++){
if (files[i].name == nameSearches){
callback(files[i]);
}
}
})
read();
}
read();
答案 0 :(得分:13)
阅读您链接的文档!
此界面的唯一方法
readEntries()
用于列出所有内容 目录中的文件和文件夹。要列出所有条目,您 需要做以下事情:
- 致电
directoryEntry.createReader()
以创建新的DirectoryReader
。- 致电
readEntries()
。- 继续致电
醇>readEntries()
,直至空白 返回数组。您必须执行此操作,因为API可能不会 在一次通话中返回所有条目。