$cordovaFileTransfer 可以实现cordova文件上传下载



这个插件可以让你上传和下载文件。



cordova plugin add cordova-plugin-file-transfer


方法(Methods)

download(url, targetPath, options, trustHosts)

从服务器下载文件

参数 类型 说明
url String 文件服务器URL下载地址
targetPath String 文件保存路径
options Object 可选参数
trustAllHosts Boolean 如果设置为true,接受所有安全证书
返回值 类型 说明
success Object 返回成功下载的文件路径和更多的信息
progress Object 返回下载文件的进度

upload(server, targetPath, options, trustAllHosts)

上传文件到服务器

参数 类型 说明
url String 服务器上传地址
targetPath String 上传文件路径
options Object 可选参数
trustAllHosts Boolean 如果设置为true,接受所有安全证书
返回值 类型 说明
success Object 返回成功对象的文件路径和更多的信息
progress Object 返回上传文件的进度

选项参数是一个Object,有以下几个关键的属性:

属性 类型 说明
encodeURI Boolean 编码服务器的URL使用encodeURI。默认设置为true
timeout Integer 超时时间已毫秒为单位

代码实例

module.controller('MyCtrl', function($scope, $timeout, $cordovaFileTransfer) {

  document.addEventListener('deviceready', function () {

    var url = "http://cdn.wall-pix.net/albums/art-space/00030109.jpg";
    var targetPath = cordova.file.documentsDirectory + "testImage.png";
    var trustHosts = true;
    var options = {};

    $cordovaFileTransfer.download(url, targetPath, options, trustHosts)
      .then(function(result) {
        // Success!
      }, function(err) {
        // Error
      }, function (progress) {
        $timeout(function () {
          $scope.downloadProgress = (progress.loaded / progress.total) * 100;
        });
      });

   }, false);


  document.addEventListener('deviceready', function () {

    $cordovaFileTransfer.upload(server, filePath, options)
      .then(function(result) {
        // Success!
      }, function(err) {
        // Error
      }, function (progress) {
        // constant progress updates
      });

  }, false);

});