0

我正在尝试创建一个动态界面来与 Chrome Canary 中的 HTML5 文件系统进行交互,但我目前遇到了一个绊脚石。

我用

dirReader.readEntries(function (entries) {
        if (!entries.length){
            return;
        }
        for (var i = 0 ; i < entries.length; i++){

            $scope.files.push(entries[i]);
        }

        dirReader.readEntries();

    }, errorHandler);

第一次得到它们,效果很好。但是,如果我创建一个新文件并再次运行代码,它不会返回任何内容。

我想它正在使用对文件系统的旧引用或类似的东西,所以我想我需要重新初始化文件系统或目录读取器(这是一个猜测)?处理该问题的最佳方法是什么?

编辑:获得对文件系统的新引用确实有效,但这让我有点呕吐。一个更好的方法仍然会很好。

4

1 回答 1

1

用于文件处理的优秀 HTML5rocks 网站

要读取目录的内容,请创建 DirectoryReader 并调用其 readEntries() 方法。不能保证在一次调用 readEntries() 时会返回所有目录条目。这意味着您需要继续调用 DirectoryReader.readEntries() 直到不再返回结果。

我读到这意味着 aDirectoryReader是一次性对象。一旦你读过它,你将不会从中得到更多的数据。因此,与其获取新的文件系统引用,不如尝试创建一个新的DirectoryReader.

于 2013-05-15T03:26:41.157 回答