如何使用phonegap构建将文件上传/下载到服务器

时间:2016-06-15 06:36:32

标签: cordova ionic-framework

我正在尝试使用phonegap build和ionic将文件从我的服务器下载到设备。我正在尝试使用cordovaFileTransfer,生成的APK是正常的,但当我尝试在设备中安装时,我收到错误:

不幸的是,App停止了。

我使用主题IonFullApp for Ionic,有人可以告诉我如何修复它吗?

谢谢

2 个答案:

答案 0 :(得分:0)

如果有人尝试使用phonegap构建上传或下载文件到服务器(使用IonFullApp主题),则需要更改config.xml:

添加以下两行:

<plugin name="org.apache.cordova.file-transfer" spec="0.4.8" source="pgb" />
<preference name="phonegap-version" value="3.7.0"/>

修改cordova-plugin-admobpro
<plugin name="cordova-plugin-admobpro" spec="^2.8.3" />

<plugin name="cordova-plugin-admobpro" spec="2.7.7" />

现在您可以创建一个控制器,将文件从服务器下载到设备,如:

.controller('DocumentosCtrl', function($scope, $http, $ionicPopup) {

    $scope.testFileDownload = function() {
       var fileTransfer = new FileTransfer();
       var uri = encodeURI("http://s14.postimg.org/i8qvaxyup/bitcoin1.jpg");
         var filename = uri.split("/").pop();
       var fileURL = cordova.file.externalRootDirectory + filename;
        alert(fileURL);
       fileTransfer.download(
          uri, fileURL, function(entry) {
                     alert(download complete: " + entry.toURL());
          },

          function(error) {alert("download error source ---" + JSON.stringify(error));
          },

          false, {
             headers: {
                "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
             }
          }
          )
};

})

答案 1 :(得分:0)

cordova 插件 cordova-plugin-file-transferdue to be deprecated 及其最新的 npm version fails on iOS

因此这两个工作函数纯粹是基于JS实现的,因此除了标准插件cordova-plugin-file外,无需使用额外的插件:

https://gist.github.com/jfoclpf/07e52f6bdf9c967449c4bc06af44c94a