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


Posted in Javascript onOctober 10, 2017

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

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

Javascript 相关文章推荐
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
Nov 08 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
Aug 21 Javascript
当鼠标移动时出现特效的JQuery代码
Nov 08 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 Javascript
javascript html5轻松实现拖动功能
Mar 01 Javascript
jQuery实现获取多选框的值示例
Feb 07 jQuery
JS实现网页端猜数字小游戏
Mar 06 Javascript
uni-app 自定义底部导航栏的实现
Dec 11 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 #Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 #Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 #Javascript
JS判断数组那点事
Oct 10 #Javascript
template.js前端模板引擎使用详解
Oct 10 #Javascript
AngularJS中table表格基本操作示例
Oct 10 #Javascript
AngularJS中控制器函数的定义与使用方法示例
Oct 10 #Javascript
You might like
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
中国好声音广告词
2014/03/18 职场文书
党建工作先进材料
2014/05/02 职场文书
淘宝好评语大全
2014/05/05 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang