无法使用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,它动了,所以我不得不用这种新的方式。