2014-04-24 19 views
5

Helo ..PhoneGap Cordova Elimina file (Android)

Sono nuovo in PhoneGap ..

ho avuto un problema di eliminare file in PhoneGap Android 3,4

console.log(photo);  

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
    function onFileSystemSuccess(fileSystem) { 
    fileSystem.root.getFile(
     photo, {create: false}, 
     function gotFileEntry(fileEntry) { 
     fileEntry.remove(); 
     }, 
     onError); 
    }, 
    onError); 

Log Risultato

04-24 16: 29: 54,234: I/console Web (16213): file: ///storage/sdcard0/DCIM/Camera/1398331773136.jpg

04-24 16: 49: 01,989: W/System.err (18864): org.apache.cordova.file.EncodingException: questo percorso ha un ":" non valido.

04-24 16: 49: 01,994: W/System.err (18864): a org.apache.cordova.file.LocalFilesystem.getFileForLocalURL (LocalFilesystem.java:159)

04-24 16: 49: 01.994: W/System.err (18864): in org.apache.cordova.file.FileUtils.getFile (FileUtils.java:698)

04-24 16: 49: 03.664: I/Web Console (18864): 5

dopo ricerca, ho ottenuto questo (Lista dei codici di errore e significati) nel doc

5 = ENCODING_ERR

il percorso del file è errato e come ottenere un percorso valido per il file in sdcard?

Grazie

risposta

7

Credo che il problema è nel modo in cui si sta chiamando per le funzioni di callback. Questo codice sta lavorando per me:

console.log("remove file"); 
var relativeFilePath = "MyDir/file_name.png"; 
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ 
    fileSystem.root.getFile(relativeFilePath, {create:false}, function(fileEntry){ 
     fileEntry.remove(function(file){ 
      console.log("File removed!"); 
     },function(){ 
      console.log("error deleting the file " + error.code); 
      }); 
     },function(){ 
      console.log("file does not exist"); 
     }); 
    },function(evt){ 
     console.log(evt.target.error.code); 
}); 
6

Il modo più semplice per accedere a un percorso assoluto inizia con file:// è quello di utilizzare window.resolveLocalFileSystemURL()

var url = "file:///storage/emulated/0/Android/data/myPackageName/cache/1461244585881.jpg"; 

window.resolveLocalFileSystemURL(url, function(file) { 
     file.remove(function(){ 
      console.log(url + " deleted"); 
     },onError); 
     }, onError); 

altri link utili:

Problemi correlati