ionic选择多张图片上传的示例代码

在上一篇博客ionic本地相册、拍照、裁剪、上传(单图完全版) 中,跟大家分享了ionic项目选择本地图片、拍照、裁剪、上传到服务器的内容,但是上一节的内容由于使用了Cordova的Camera插件进行了图片选择与拍摄,所以每次只能支持1张图片的选择与上传。上一篇博客中的内容适合用于头像情景。

在本节中,跟大家分享使用Corodva的ImagePicker插件,实现多图选择与上传。废话不多说,进入主题。

插件安装

cordova plugin add corodva-plugin-imagepicker

cordova plugin add cordova-plugin-file-transfer

定义图片选择服务

angular.module('starter.services', [])

//配置单张图片选择

.factory('SelectPicture', function(UploadFile, Toast) {

return {

/**

* 从图库选择多张图片

*/

choosePictures: function() {

window.imagePicker.getPictures(function(res){

for(var i = 0; i < res.length; i++){

UploadFile.uploadFile(res[i], "我的服务器接口地址");//传递自己的服务器接口地址

}

}, function(err){

alert(err);

}, {

maximumImagesCount: 10,

quality: 80

});

}

}

})

定义文件上传服务

//文件上传

.factory('UploadFile', function(Toast) {

return {

/**

* 上传文件到服务器

*

* @param fileUrl 文件路径

* @param server 服务器接口

*/

uploadFile: function(fileUrl, server) {

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {

var options = new FileUploadOptions();

options.fileKey = "BeanYon";//后台获取文件的键值

options.fileName = fileUrl.substr(fileUrl.lastIndexOf('/') + 1);

options.mimeType = "image/jpeg";

options.chunkedMode = false;

var params = {};//这里可添加自定义参数

options.params = params;

var ft = new FileTransfer();

ft.upload(fileUrl,

encodeURI(server),

success,

err,

options);

}

function success(r){

Toast.show("图片已经成功上传");

}

function err(error){

Toast.show("上传头像失败,请确保网络正常后再试");

}

}

}

})

在Controller中调用

angular.module('starter.controllers', [])

.controller('UsedUploadCtrl', function($scope, SelectPicture) {

/**

* 选择图片并上传

*/

$scope.uploadImage = function(){

SelectPicture.choosePictures($scope);

}

})

以上是 ionic选择多张图片上传的示例代码 的全部内容, 来源链接: utcz.com/z/361913.html

回到顶部