我正在尝试使用$ 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()代替。
答案 0 :(得分: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);