我是cordova和ion的新人
我想从服务器下载音频文件
我的离子版本是:1.7.14
我的cordova版本是:6.1.1
我的Android版本是:6(我使用加密模式)
这是我的代码:
$scope.DownloadFile = function (url, filename) {
var ft = new FileTransfer();
var source = encodeURI('http://' + url + filename);
var targetPath = cordova.file.documentsDirectory + filename;//change path as you need
var trustHosts = true;//optional
var options = {};//optional
ionic.Platform.ready(function () {//device prepared
ft.download(source, targetPath, function (entry) {
alert('success' + JSON.stringify(entry));
}, function (err) {
alert(url + filename);
alert(JSON.stringify(err));
}, trustHosts, options);
});
}
我得到了这个结果:
{"code":1 , "source":"http://sedaban.com/sedaban/users/json/app/mobile/download/146012022293952.mp3","target":"null146012022293952.mp3","http_status":200,"body":null,"exception":"/null146012022293952.mp3:open failed: EROFS (Read-only file system)"}
答案 0 :(得分:1)
cordova.file.documentsDirectory对Android无效。
这是cordova文件插件github中提到的描述 - " cordova.file.documentsDirectory - 应用程序专用的文件,但对其他应用程序(例如Office文件)有意义。请注意,对于OSX,这是用户的〜/ Documents目录。 (iOS,OSX)"
试用适用于Android的cordova.file.externalDataDirectory或cordova.file.externalRootDirectory。希望它有所帮助