首 页 行业热点 新车 试驾评测 养车用车 车型库
当前位置:首页ionic选择多张图片上传的示例代码

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

2020-11-27 来源:好土汽车网
导读 ionic选择多张图片上传的示例代码:在上一篇博客ionic本地相册、拍照、裁剪、上传(单图完全版) 中,跟大家分享了ionic项目选择本地图片、拍照、裁剪、上传到服务器的内容,但是上一节的内容由于使用了Cordova的Camera插件进行了图片选择与拍摄,所以每次只能支持1张图片的选择与上传。上一篇

在上一篇博客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);
 }
})
显示全文