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

时间:2014-10-09 15:30:45

标签: javascript android cordova cordova-plugins

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

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

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

我希望得到一个更新的答案,因为我看到的已超过1岁: Can you read files in the www folder using PhoneGap.'s JS methods?

提前致谢。

2 个答案:

答案 0 :(得分: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/");

(www文件夹处于只读模式。你不能在其中写任何内容。Cordova plugin file文档解释了这一点。但你可以使用copyTo() method of html5 API File将数据复制到另一个位置)

答案 1 :(得分:2)

今年早些时候的Raymond Camden,使用cordova = file-plugin是不可能的:http://www.raymondcamden.com/2015/01/21/phonegapcordova-tip-working-with-files-under-www-and-android -

  

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

但是 有几个目录可以使用文件插件访问。以下是一些示例代码,用于检索其中一些内容:https://stackoverflow.com/a/29905718/346550