我正在创建一个 Chrome 应用程序。我必须读取目录的文件并且我正在使用目录入口API https://developer.mozilla.org/en-US/docs/Web/API/DirectoryEntry and 目录读取器API https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader.
我的问题是使用 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
is 100
并且目录下还有更多文件
我不确定这个限制是否与 Google Chrome、Google Chrome 应用程序、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();
阅读您链接的文档!
该接口的唯一方法,readEntries()
用于列出所有
目录中的文件和文件夹。要列出所有条目,您
需要执行以下操作:
- Call
directoryEntry.createReader()
创建一个新的DirectoryReader
.
- Call
readEntries()
.
-
继续通话
readEntries()
直到一个空的
返回数组。您必须这样做,因为 API 可能不会
在一次调用中返回所有条目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)