无法使用cordova-plugin-file插件从android目录中读取文件

时间:2016-02-09 22:58:29

标签: android cordova phonegap-build cordova-plugins

我正在尝试读取位于我的Android手机“sdcard”目录中的txt文件。但是“文件阅读器”的“onloadend”事件从未触发过,事实上所有事件似乎都不起作用。我正在使用“phonegap-build”构建应用程序,并通过在“config.xml”文件中添加以下行来导入cordova-plugin-file插件:

<gap:plugin name="cordova-plugin-file" source="npm" />

代码如下(变量和函数是葡萄牙语,对不起):

  // Importar dados
  $("#ImportarDados").click(function() {

    // obter sistema de ficheiros (diretoria principal)
    window.resolveLocalFileSystemURL(
      cordova.file.externalRootDirectory,
      obtiveSistFich,
      erro
    );

    // obter ficheiro
    function obtiveSistFich(diretoria) {
      console.log("obtive diretoria principal", diretoria);
      var ficheiro_entrada = localStorage.getItem("dir_importacao")
      diretoria.getFile(ficheiro_entrada, {create:true}, obtiveFicheiro, erro);
    }

    // ler ficheiro
    function obtiveFicheiro(ficheiro) {
      console.log("obtive o ficheiro", ficheiro);
      ficheiro.file(ficheiroLido(ficheiro), erro);
    }

    // imprimir ficheiro
    function ficheiroLido(ficheiro) {
      console.log(leitor);
      // TILL HERE SEEMS TO WORKS FINE!!

      var leitor = new FileReader();

      leitor.onloadend = function(evt) {
        // IT NEVER WORKS!!!!
        alert("sucesso de leitura!");
        alert(evt.target.result);
      };

      leitor.readAsText(ficheiro);
    }

    // lidar com possíveis erros (debug)
    function erro(erro) {
      console.log(erro.code);
    }
  }

1 个答案:

答案 0 :(得分:0)

刚刚发现了问题。 phonegap-build似乎不支持最新版本的cordova-plugin文件。

发布的最新版本(在npm上)为4.1.0,而phonegap-build为3.0.0

基本上只需要在config.xml中更改行:

<gap:plugin name="cordova-plugin-file" source="npm" />

要:

<gap:plugin name="cordova-plugin-file" version="3.0.0" source="npm" />