2016-02-14 61 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);