ng-cordova-file找不到创建的文件

时间:2016-05-26 12:20:18

标签: angularjs cordova

在应用启动时,它会检查某个文件是否存在,如果不存在,则会发出http请求以API格式获得json。如果请求成功完成,那么它将创建一个json文件。

$cordova.writeFile()登录成功处理程序,所以它必须有效(我不知道如何检查它是否确实成功)。

当我关闭应用并重新启动它然后再次检查但它总是在错误处理程序中doesn't exist

// On launch    
$scope.checkFile('news.json');

$scope.checkFile = function(file){
  $cordovaFile.checkFile(cordova.file.dataDirectory, file)
   .then(function (success) {
     console.log('Exists!');
   }, function (error) {
     console.log('Doesnt exist');
     $scope.update();
   });
 }

//If it doesn't exist
$scope.update = function () {
  // Get all news
  NewsService.getAllNews().then(function (data) {
    $scope.saveFile('news.json', data);
    $scope.news = data;
  }, function (err) {
    console.log(err)
  });
};

// Write file

$scope.saveFile = function (file, data) {
  console.log(file) // logs news.json
  console.log(data) // logs data

  $cordovaFile.writeFile(cordova.file.dataDirectory, file, JSON.stringify(data), true)
   .then(function (success) {
     // success
     console.log('Worked!');
    }, function (error) {
     // error
     console.log('Didn't work'); 
   });
};

修改 cordova.file.dataDirectory导致:

file:///data/user/0/com.myname.appname/files/

这是正确的路径吗?

EDIT2: 我没有记录自己的错误,而是记录了变量错误。它说:

FileError {code: 5, message: "ENCODING_ERR"}

0 个答案:

没有答案