尝试使用Filetransfer Cordova为android下载文件,但部分下载了所有文件。它将只下载一个随机数字节(~1-1.5 MB)然后触发成功下载事件。 这是代码:
var uri = encodeURI('http://192.168.1.5:3000/downloads/' + $scope.file.filename);
var trustHost = true;
var options = {};
var fileName = "thisIsAFile.ext";
$ionicPlatform.ready(function () {})
.then(function(){
var fileTransfer = new FileTransfer();
fileTransfer.download(
uri,
"file://mnt/sdcard/Download/" + fileName,
function(entry) {
$ionicPopup.alert({
title: "success".toUpperCase(),
template: JSON.stringify(entry)
})
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
},
trustHost, options);
});
我可以从服务器(网络版或移动版)使用浏览器轻松下载文件。
logcat没有帮助或成功对象检查。
所有权限都在res/xml/config.xml
中设置,AndroidManifest.xml
我还尝试了不同的文件路径,并尝试使用cordova.file.*
和fileSystem.root
我感到困惑。
我正在使用Ionic和ngCordova。 FileTransfer是文件传输0.4.3 我已经尝试过0.5版本,它给了我一个持久的代码3错误。
有什么建议吗?
答案 0 :(得分:0)
我在服务器端使用res.sendFile()
- 我正在使用node.js解决了这个问题。我不确定为什么,但似乎静态URL - 资源地址 - 也需要包含文件数据的响应。
我希望这可能会有所帮助。