2

我现在正在开发一个科尔多瓦应用程序,它的平台是浏览器。

我需要从本地文件系统访问一个文本文件,所以我使用的是cordova-plugin-file。

但是我在我的 chrome 控制台中作为异常失败了(没有 CLI 错误):

代码:5

消息:“提供给 API 的 URI 格式错误,或者生成的数据 URL 已超出数据 URL 的 URL 长度限制。”

名称:“编码错误”

正如我的代码一样:

document.addEventListener('deviceready', dataRead, false);
    function dataRead() {
      window.webkitRequestFileSystem(window.PERSISTENT, 100500*1024*1024, function() {
        window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);
      },function (e) {
        console.log(e);
      });
    }
    function fail(e) {
      console.log("FileSystem Error");
      console.dir(e);
    }

    function gotFile(fileEntry) {
      fileEntry.file(function(file) {
        var reader = new FileReader();

        reader.onloadend = function(e) {
          console.log("Text is: "+this.result);
        }

        reader.readAsText(file);
      });

    }

我的 URI 是非法的还是出于其他原因?

谁能指出为什么?或者给我一个正确的例子。

任何帮助表示赞赏。

4

1 回答 1

1

文件插件的好参考点是它的自动和手动测试,可以在cordova-plugin-test-framework文件插件文档中运行。

关于你的问题的几点:

  • 尝试使用小于的东西100500*1024*1024,例如10*1024*1024
  • 代替

window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);

尝试使用

window.resolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "persistent/1111.csv", gotFile, fail);

于 2015-12-16T08:37:58.923 回答