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 相关文章推荐
javascript[js]获取url参数的代码
Oct 17 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
html文本框提示效果的示例代码
Jun 28 Javascript
使用Node.js为其他程序编写扩展的基本方法
Jun 23 Javascript
学习JavaScript设计模式(单例模式)
Nov 26 Javascript
原生js仿jquery animate动画效果
Jul 13 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
ES6新特性之模块Module用法详解
Apr 01 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
Sep 01 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 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 HandlerSocket的使用
2011/05/02 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
责任胜于能力演讲稿
2014/05/20 职场文书
个人汇报材料范文
2014/12/30 职场文书
试用期辞职信范文
2015/03/02 职场文书
获奖感言怎么写
2015/07/31 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript