javascript – 如何使用angularjs将图像从url下载(保存)到我们的相册中?

我是
angularjs的新手,我的项目使用angularjs和ionic在
android和IOS平台上运行.我需要用图像网址将图像保存到手机相册(支持IOS和Andorid)中.我知道cordova插件可以从url下载图像,但我无法理解如何安装cordova-plugin-file-transfer.有没有其他更简单的方法来实现这个功能?谢谢.

angular.module('myApp', []);

angular.module('myApp').controller('HomeCtrl', ['$scope', '$http', function($scope, $http) {

  $scope.saveImg = function(imgUrl){
   var hideSheet = $ionicActionSheet.show({
                        buttons: [
                            {text: 'save image'},
                            {text: 'copy link'},
                        ],
                        cancelText: 'cancel',
                        cancel: function () {
                        },
                        buttonClicked: function (index) {
                            if (index == 0) {//save image here
                               
                            }
                        }
                    });

  }
 
}]);
<img ng-src="{{imgUrl}}" on-hold="saveImg(imgUrl)">

最佳答案 首先,您需要使用CLI安装插件:

cordova plugin add cordova-plugin-file-transfer

现在在模块中注入对ngCordova的依赖

$cordovaFile转移到您的控制器并添加以下代码:

var app= angular.module('myApp', ['ngCordova']);

    app.controller('HomeCtrl', ['$scope', '$http', '$cordovaFileTransfer',function($scope, $http,$cordovaFileTransfer) {

    var url = "http://cdn.wall-pix.net/albums/art-space/00030109.jpg"; // your url
        var targetPath = cordova.file.documentsDirectory + "testImage.png"; // filename
        var trustHosts = true;
        var options = {};
    $scope.trans=function(){
        $cordovaFileTransfer.download(url, targetPath, options, trustHosts)
          .then(function(result) {
            // Success!
          }, function(err) {
            // Error
          }, function (progress) {

          });

       }

    }]);

以下是参考:http://ngcordova.com/docs/plugins/fileTransfer/

点赞