无法获取文件进行解析

Unable to get file for parsing

背景:我已经下载并存储了一些文件到我的phone。我想一个接一个地检索这些文件并单独解析它们。解析的结果用于进一步的计算。

问题:文件没有被正确提取。所以解析也没有正常发生。我到目前为止的代码:

 var knownFiles=[];
 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
    function(fs){
      fs.root.getDirectory('Amazedata', null, 
        function(d){
          var dirReader = d.createReader();
          dirReader.readEntries(function(entries){
            if (!entries.length) {
              alert('FileSystem is Empty');
            }
            else{
              for(var i=0; i<entries.length;i++){
                knownFiles.push(entries[i].name);
                var file = entries[i].fullPath;
                //console.log(file);
                Papa.parse(file,{
                  header: true,
                  dynamicTyping: true,
                  complete: function(){
                    var totAmt =0;
                    for(var i=1;i<=arguments[0].data.length;i++){
                      if(!arguments[0].data[1][2]){
                        totAmt += arguments[0].data[i][28];
                      }
                    }
                    var payerObj={
                      'PayerAccountID' : arguments[0].data[1][1],
                      'PayerAccountName' : arguments[0].data[1][8],
                      'TotalAmount' : totAmt 
                    };

                    payerAccArr.push(payerObj);
                    $('#loading1').removeClass('show').addClass('hide');
                    $('#content-Container').removeClass('hide').addClass('show');
                  },
                  error: errorFn
                });
              }

              // for(var i=0;i<knownFiles.length;i++){

              // }
            }
          }, onError);
        }, onError );
  }, onRequestError);

如何获取要解析的文件?我错过了什么?我得到的错误是 TypeError: Unable to get reference for 1 我正在使用 Papa.parse 进行解析。

我能够使用 getFilefileEntry.file 方法解决这个问题。代码编辑如下:

var knownFiles=[];

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
 function(fs){
   fs.root.getDirectory('Amazedata', null, 
     function(d){
       var dirReader = d.createReader();
       dirReader.readEntries(function(entries){
         if (!entries.length) {
           alert('FileSystem is Empty');
         }
         else{
           var dirLength = entries.length;
           for(var i=0; i<entries.length;i++){
             knownFiles.push(entries[i].name);
             var reqfile = entries[i].fullPath;
             d.getFile(reqfile,{},
               function(fileEntry){
                 fileEntry.file(function(file){
                   Papa.parse(file,{
                     header: true,
                     dynamicTyping: true,
                     complete: function(){
                       //console.log(arguments);
                        var parserObj = arguments[0];
                        var totAmt =0;
                        for(var j=0; j<parserObj.data.length; j++){
                          if(!parserObj.data[j].LinkedAccountId){
                             totAmt += parserObj.data[j].TotalCost ? parseInt(parserObj.data[j].TotalCost) : 0;
                          }
                        }
                        console.log('total amount', totAmt);
                        var payerObj={
                           'PayerAccountID' : parserObj.data[0].PayerAccountId,
                           'PayerAccountName' : parserObj.data[0].PayerAccountName,
                           'TotalAmount' : totAmt 
                          };
                          console.log('payerObj',payerObj);
                          payerAccArr.push(payerObj);
                          if(payerAccArr.length == dirLength)
                            break;
                        },
                        error: errorFn
                      });
                    });
                  });
                //console.log(file);
              }

fileEntry.file returns 一个可用于解析的文件对象。