2014-09-24 108 views
0

我在PhoneGap 3.5.0項目中使用AngularJS,並在XCode的iOS 5和iOS 6上使用它。PhoneGap + AngularJS未能讀取剛剛創建的文件

我嘗試讀取以前寫入的文件。但我總是一個空字符串,而不是response這是一個JSON的值。

$http.get(API + '/content') 
.success(function (response) { 
    // response is a JSON 
    console.log(response); 

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (filesystem) { 
     filesystem.root.getDirectory('json', {create: true}, function (dirEntry) { 
      dirEntry.getFile('contents.json', {create: true, exclusive: false}, function (fileEntry) { 
       fileEntry.createWriter(function (fileWriter) { 
        fileWriter.onwriteend = function (e) { 
         // this is not working... 
         fileEntry.file(function (file) { 
          var reader = new FileReader(); 

          reader.onloadend = function (e) { 
           // e.target.result is an empty string (!?) 
           console.log(e.target.result, typeof e.target.result); 
          }; 

          reader.readAsText(file); 
         }); 
        }; 

        fileWriter.write(response); 
       }); 
      }); 
     }); 
    }); 

}); 

回答

0

我有這方面的工作版本,其中有照片的工作原理:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ 
       fileSystem.root.getDirectory("photos", {create: true, exclusive: false}, function(dir) { 
        dir.getFile("photo_"+Date.now()+".jpg", {create: true, exclusive: false}, function(fileEntry){ 
         fileEntry.createWriter(function(writer){ 
          writer.onwriteend = function (evt) { 
           scope.processPhoto(fileEntry.toURL(), $(element).index()); 
          }; 
          writer.write(element.find('input')[0].files[0]); 
         }, fail); 
        }, fail); 
       }, fail); 
      }, fail); 

,處理故障的功能是

function fail(error) { 
      console.log(error.code); 
     } 

我看不到,爲什麼我的作品和你做太多的區別不是,但嘗試使用失敗功能深入查看可能的錯誤代碼,並引發您的案例。