当cordova-plugin-file时出现EncodingError

时间:2015-12-15 07:46:38

标签: cordova html5-filesystem cordova-plugin-file

我正在开发一个平台是浏览器的cordova应用程序。

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

但是我在我的chrome控制台中失败了,就像这样(没有CLI错误):

  

代码:5

     

消息:"提供给API的URI格式错误,或者生成的数据网址超出了数据网址的网址长度限制。"

     

name:" EncodingError"

作为我的代码打击:

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是非法还是其他原因?

有人能指出原因吗?或者给我一个正确的例子。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

文件插件的好参考点是its auto and manual tests,可以在cordova-plugin-test-frameworkthe file plugin documentation中运行。

关于你的问题的几点:

  • 尝试使用小于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);