如何使用angularjs将图片从网址下载(保存)到我们的相册中?
问题描述:
我是angularjs的新手,我的项目使用angularjs和ionic在android和IOS平台上运行。我需要将图像保存到手机相册(支持IOS和Andorid)与图像url。我知道cordova插件可以从url下载图片,但我无法理解如何安装cordova-plugin-file-transfer。有没有其他更简单的方法来实现这个功能?谢谢。如何使用angularjs将图片从网址下载(保存)到我们的相册中?
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模块中和
$ cordovaFileTransfer到控制器中和添加以下代码:
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) {
});
}
}]);
+0
但是有一个错误说:“无法读取属性'的文件'未定义的目录'。为什么?我已经安装了插件并注入了依赖项$ cordovaFileTransfer。 – jingyo
+0
尝试给一些其他targetPath文件 –
你一定需要在使用香草科尔多瓦框架使用科尔多瓦 - 插件 - 文件传输 –
@jingyo工作样本 - https://github.com/gandhirajan/Cordova_File_Operations – Gandhi
感谢你的帮助。但我的应用程序正在与角度。我只是无法理解如何安装插件cordova-plugin-file-transfer到cordova。 – jingyo