首页 > 编程 > JavaScript > 正文

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

2019-11-19 15:12:11
字体:
来源:转载
供稿:网友

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表