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

时间:2021-05-28

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

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

插件安装

cordova plugin add corodva-plugin-imagepickercordova 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); }})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章