$ cordovaFile removeFile& checkDir错误5(ENCODING_ERR)

时间:2016-02-14 05:52:37

标签: android cordova download ionic-framework

我正在尝试使用$ 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 个答案:

答案 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);