JavaScript中的FileReader #readEntries可以读取的目录的最大文件数

fhu*_*tas 6 javascript google-chrome-extension fileapi google-chrome-app

我正在创建一个Chrome应用程序.我必须读取目录的文件,我正在使用DirectoryEntry APIDirectoryReader 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();
Run Code Online (Sandbox Code Playgroud)

files.lengthis 的值是100,目录中有更多文件

我不确定这个限制是关于谷歌浏览器,谷歌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();
Run Code Online (Sandbox Code Playgroud)

Xan*_*Xan 13

阅读您链接的文档!

此接口的唯一方法readEntries()是列出目录中的所有文件和文件夹.要列出所有条目,您需要执行以下操作:

  1. 打电话directoryEntry.createReader()来创建一个新的DirectoryReader.
  2. 打电话readEntries().
  3. 继续调用,readEntries()直到返回一个空数组.您必须执行此操作,因为API可能不会在单个调用中返回所有条目.