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 相关文章推荐
在jQuery中 常用的选择器介绍
Apr 16 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
JS实现关键字搜索时的相关下拉字段效果
Aug 05 Javascript
JS操作HTML自定义属性的方法
Feb 10 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
js取0-9随机取4个数不重复的数字代码实例
Mar 27 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
node创建Vue项目步骤详解
Mar 06 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分页函数
2006/07/08 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
学前班教师的自我鉴定
2013/12/05 职场文书
大学生怎样进行自我评价
2013/12/07 职场文书
12岁生日感言
2014/01/21 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
小学感恩节活动总结
2015/03/24 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript