2013-02-05 3 views
0

다른 사람들에게 유용 할 수 있으므로 게시하려고합니다. Android/Cordova 하이브리드 응용 프로그램에서 파일을 저장하는 동안 오류 피드백으로 고생했습니다. 다음 코드 블록을 사용하면 더 쉽게 이해할 수 있습니다. 그러나 개선을위한 모든 지침을 매우 환영합니다.Android에서 파일 오류 Cordova

fail: function(error) { 
     var logger = cordova.require("salesforce/util/logger"); 

     switch(error.code) 
     { 
      case FileError.NOT_FOUND_ERR: 
       logger.logToConsole("File Not Found"); 
       break; 
      case FileError.SECURITY_ERR: 
       logger.logToConsole("Security Error"); 
       break; 
      case FileError.ABORT_ERR: 
       logger.logToConsole("Abort error"); 
       break; 
      case FileError.NOT_READABLE_ERR: 
       logger.logToConsole("Not Readable"); 
       break; 
      case FileError.ENCODING_ERR: 
       logger.logToConsole("Encoding Error"); 
       break; 
      case FileError.NO_MODIFICATION_ALLOWED_ERR: 
       logger.logToConsole("No Modification Allowed"); 
       break; 
      case FileError.INVALID_STATE_ERR: 
       logger.logToConsole("Invalid State"); 
       break; 
      case FileError.SYNTAX_ERR: 
       logger.logToConsole("Syntax Error"); 
       break; 
      case FileError.INVALID_MODIFICATION_ERR: 
       logger.logToConsole("Invalid Modification Error"); 
       break; 
      case FileError.QUOTA_EXCEEDED_ERR: 
       logger.logToConsole("Quota Exceeded"); 
       break; 
      case FileError.TYPE_MISMATCH_ERR: 
       logger.logToConsole("Type Mismatch Error"); 
       break; 
      case FileError.PATH_EXISTS_ERR: 
       logger.logToConsole("Path Already Exists Error"); 
       break; 
     } 
     logger.logToConsole("Error code:: " + error.code); 
    } 

답변

0

다음은 문제를 일으키는 파일 저장 루틴입니다 (CREATE : true 플래그가 필요하다는 것으로 밝혀졌습니다). 희망이 도움이됩니다.

saveLocal: function (file, data, sync) { 

     //Accept the JSON of an Inspection object 
     cordova.require("salesforce/util/logger").logToConsole("Writing to " + file); 

     //Write data to the requested file 
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,      
       function(fileSystem) { 
        cordova.require("salesforce/util/logger").logToConsole("Writing to " + file); 

        fileSystem.root.getFile(file, {create: true}, 
          function(fileEntry) { 
           cordova.require("salesforce/util/logger").logToConsole("Create writer"); 

           fileEntry.createWriter(function (writer) { 
             writer.write(JSON.stringify(data)); 

             //Trigger to send data to salesforce 
             if (sync) {sync();} 

             //send to event if registered 
             if (onsaveend) {onsaveend(data);} 

           }, anytime.fail); 

        }, anytime.fail); 
       }, anytime.fail); 
    } 
+0

답을 표시하십시오. –

관련 문제