无法使用cordova访问目录和子目录文件API
问题描述:
我目前正受到File API问题的挑战。我似乎无法访问目录的内容。下面的代码应该访问一个目录及其子目录,然后读取其中的所有文件。无法使用cordova访问目录和子目录文件API
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function(filesystem) {
var tmpPath = filesystem.root.toURL() + "Inmark/InmarkCatalog";
window.resolveLocalFileSystemURL(tmpPath, function(gotDir) {
var reader = filesystem.root.createReader();
reader.path = gotDir.toURL();
reader.readEntries(successCatalog, failCatalogList);
}, catalogfilefail)
}, catalogfilefail);
但是,发生的事情是它不会进入目录,而是进入内部存储的根目录。它仍在运行reader.readEntries()
函数,但它传递的是根目录中的文件夹,而不是中的文件夹。
*我最近升级到cordova 3.5.1并使用文件系统插件1.3.3。
答
使用此解决:
window.resolveLocalFileSystemURL(tmpPath, function(gotDir) {
var reader = gotDir.createReader(); //<-- this is the answer
reader.readEntries(successCatalog, failCatalogList);
}, catalogfilefail)
- 我使用
filesystem.root.createReader()
切换到gotDir.createReader()
- 我原来的代码仅适用于科尔多瓦2.9.0,当我切换到3.5.1,它动了,所以我不得不用这种新的方式。