ionic选择多张图片上传的示例代码
程序员文章站
2022-06-17 18:31:37
在上一篇博客中,跟大家分享了ionic项目选择本地图片、拍照、裁剪、上传到服务器的内容,但是上一节的内容由于使用了cordova的camera插件进行了图片选择与拍摄,所以...
在上一篇博客中,跟大家分享了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); } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。