2015-12-02 38 views
0

我正在Cordova項目上工作,但遇到了filesystem-plugin的錯誤。我可以在iPhone 5S模擬器(Json和jpegs)中讀寫。但是在我的iPhone 6設備和iPhone 6S模擬器中,獲取新的jpg文件時,fileSystem.getFile()函數總是給我提供錯誤代碼3。 Json以某種方式正常工作。有任何想法嗎?更新的iOS設備上的Cordova文件插件錯誤代碼3(Abort_Error)

self.savePicture = function (fileURI, callback) { 
    if(self.canSave) { 
     window.resolveLocalFileSystemURL(self.dataDirectory, function(fileSystem) { 
      var d = new Date().getTime(); 
      var folder = "pictures/"; 
      var filename = "pic_"+d + ".jpg"; 
      fileSystem.getFile(folder+filename, { create: true }, function(file) { 
       file.createWriter(function(writer) { 
        writer.write(self.b64toBlob(fileURI, 'data:image/jpeg;base64,')); 
        app.log('saving ' + filename + ' successful', 'data'); 
        callback(filename); 
       }, function() { 
        app.log('saving ' + filename + ' failed', 'data'); 
       }); 
      }, function() { 
       app.log('getting File failed','data'); 
      }); 
     }, function() { 
      app.log('resolvingLocalFileSystem failed','data'); 
     }); 
    }else{ 
     app.log('device cant save!', 'data'); 
    } 
    callback(''); 
} 
+0

如果您修復它,發佈它作爲答案並接受它 – jcesarmobile

回答

0

好吧,我找到了一個解決方案。 我必須先創建目錄「圖片/」,然後創建文件。它現在適用於所有設備。 但我不能解釋,爲什麼上面的代碼將在一些設備上工作..

self.savePicture = function (fileURI, callback) { 
    if(self.canSave) { 
     window.resolveLocalFileSystemURL(self.dataDirectory, function(fileSystem) { 
      var d = new Date().getTime(); 
      var folder = "pictures/"; 
      var filename = "pic_"+d + ".jpg"; 
      fileSystem.getDirectory(folder, { create: true }, function(dir) { 
       dir.getFile(filename, { create: true }, function(file) { 
        file.createWriter(function(writer) { 
         writer.write(self.b64toBlob(fileURI, 'data:image/jpeg;base64,')); 
         app.log('saving ' + filename + ' successful', 'data'); 
         callback(filename); 
        }, function() { 
         app.log('saving ' + filename + ' failed', 'data'); 
        }); 
       }, function() { 
        app.log('getting File failed','data'); 
       }); 
      }, function(){ 
       app.log('getting Directory failed','data'); 
      }); 
     }, function() { 
      app.log('resolvingLocalFileSystem failed','data'); 
     }); 
    }else{ 
     app.log('device cant save!', 'data'); 
    } 
    callback(''); 
} 
相關問題