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 相关文章推荐
可简单避免的三个JS发布错误的详细介绍
Aug 02 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
Nov 26 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
Aug 17 Javascript
Input文本框随着输入内容多少自动延伸的实现
Feb 15 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
Jun 01 Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 Javascript
详解React Native网络请求fetch简单封装
Aug 10 Javascript
three.js利用卷积法如何实现物体描边效果
Nov 27 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
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
Javascript 入门基础学习
2010/03/10 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
竞选班长演讲稿
2013/12/30 职场文书
中班中秋节活动反思
2014/02/18 职场文书
情人节活动总结范文
2015/02/05 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
教师教育教学随笔
2015/08/15 职场文书
商场广播稿范文
2015/08/19 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL