我正在尝试使用$ 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()。
最佳答案
通过使用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);