Cordova文件插件 - 从www文件夹中读取?

Luk*_*ton 8 javascript android cordova cordova-plugins

我在Android上遇到了问题(未在其他平台上测试过),我想使用cordova文件API从/ www文件夹中读取文件.互联网上有关于这是否可能存在冲突的信息.我跟着一个例子:

window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/index.html", gotFile, fail);

但是我收到错误1(找不到文件).我可以使用AJAX来检索我需要的文件,但它不适合我的用例.我想查询/ www文件夹中的目录并读取动态命名的文件.有任何想法吗?

我想得到一个更新的答案,因为我看到的已经超过1岁了: 你能使用PhoneGap.的JS方法读取www文件夹中的文件吗?

提前致谢.

Mao*_*Mao 6

您可以使用此功能获取www /文件夹中的所有可用文件

function listDir(path){
  window.resolveLocalFileSystemURL(path,
    function (fileSystem) {
      var reader = fileSystem.createReader();
      reader.readEntries(
        function (entries) {
          console.log(entries);
        },
        function (err) {
          console.log(err);
        }
      );
    }, function (err) {
      console.log(err);
    }
  );
}
//example: list of www/ folder in cordova/ionic app.
listDir(cordova.file.applicationDirectory + "www/");
Run Code Online (Sandbox Code Playgroud)

(www文件夹处于只读模式.你不能在其中写任何东西.Cordova插件文件说明了这一点.但你可以使用html5 API文件copyTo()方法将你的数据复制到另一个位置)


eb1*_*eb1 2

根据今年早些时候的 Raymond Camden 的说法,cordova=file-plugin 是不可能做到这一点的:http://www.raymondcamden.com/2015/01/21/phonegapcordova-tip-working-with-files-under-www -和-安卓-

首先,您不能使用文件系统 API 来处理 www 文件夹下的文件。文件插件的文档错误地指出您对应用程序目录(其中将包含 www)具有读取访问权限,但这是不正确的。

但是您可以使用文件插件访问多个目录。以下是一些示例代码,用于检索其中一些内容:/sf/answers/2093400291/