FileTransfer仅部分下载文件

时间:2015-05-07 13:41:32

标签: android cordova ionic file-transfer ngcordova

尝试使用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错误。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我在服务器端使用res.sendFile() - 我正在使用node.js解决了这个问题。我不确定为什么,但似乎静态URL - 资源地址 - 也需要包含文件数据的响应。 我希望这可能会有所帮助。