2016-02-14 62 views
1

我試圖使用$ cordovaFile從Android設備中刪除文件。要刪除的文件是使用$ cordovaFileTransfer在以下位置下載的。

ft.download(url, cordova.file.externalDataDirectory + "episodes/" + episodeId + ".mp3",...); 

使用設備上的文件管理器,我可以看到,該文件位於file:///storage/emulated/0/Android/data/com.ionicframework.myapp123456/files/episodes/

`但是當我嘗試使用下列任一位置的刪除我得到錯誤代碼5的文件( ENCODING_ERR)

$cordovaFile.removeFile("file:///storage/emulated/0/Android/data/com.ionicframework.myapp123456/files/episodes/", "0.mp3") 

$cordovaFile.removeFile(cordova.file.externalDataDirectory + "episodes/", "0.mp3") 

,當我嘗試使用$ cordovaFile.checkDir(),所以我用window.resolveLocalFileSystemURL(),而不是出現同樣的錯誤。

回答

1

此問題已通過使用LocalFileSystem解決。它並不像文件插件提供的方法那樣簡單,但它起作用。

var uri = cordova.file.externalDataDirectory + "episodes/"; 

window.resolveLocalFileSystemURL(uri, function(dir) { 
     dir.getFile(episodeId + ".mp3", { create: false }, function(file) { 
      file.remove(successCallback, errorCallback); 
     }); 
}, errorCallback);