微信小程序实现多张图片上传功能


Posted in Javascript onNovember 18, 2020

本文实例为大家分享了微信小程序实现多张图片上传的具体代码,供大家参考,具体内容如下

Page({

 /**
  * 页面的初始数据
  */
 data: {
  pics: [],
  count: 9, //上传图片最大数量
  // showImgUrl: "", //路径拼接,一般上传返回的都是文件名,
  uploadImgUrl: 'https://xxx/UploadHandler.ashx', //图片的上传的路径
  detailPics: [], //上传的结果图片集合
 },
 selectimages() {
  var that = this;
  var detailPics = that.data.detailPics;
  if (detailPics.length >= that.data.count) {
   wx.showToast({
    title: '最多选择' + that.data.count + '张!',
   })
   return;
  }
  wx.chooseImage({
   count: that.data.count, // 最多可以选择的图片张数,默认9
   sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
   sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
   success: function(res) {
    var imgs = res.tempFilePaths;
    for (var i = 0; i < imgs.length; i++) {
     that.data.pics.push(imgs[i])
    }
    that.setData({
     pics: that.data.pics
    })
    console.log(that.data.pics)
     that.uploadimg({
     url: that.data.uploadImgUrl, //这里是你图片上传的接口
     path: that.data.pics, //这里是选取的图片的地址数组
    });
   },
  })
 },
 //多张图片上传
 uploadimg: function(data) {
  wx.showLoading({
   title: '上传图片中...',
   mask: true,
  })
  var that = this,
   i = data.i ? data.i : 0,
   success = data.success ? data.success : 0,
   fail = data.fail ? data.fail : 0;
  wx.uploadFile({
   url: data.url,
   filePath: data.path[i],
   name: 'fileData',
   formData: null,
   success: (resp) => {
    wx.hideLoading();
    success++;
    var str = resp.data //返回的结果,可能不同项目结果不一样
    var pic = JSON.parse(str);
    var pic_name = pic.url;
    var detailPics = that.data.detailPics;
    detailPics.push(pic_name)
    that.setData({
     detailPics: detailPics
    })
   },
   fail: (res) => {
    fail++;
    console.log('fail:' + i + "fail:" + fail);
   },
   complete: () => {
    i++;
    if (i == data.path.length) { //当图片传完时,停止调用   
     that.send()
     console.log('执行完毕');
     console.log('成功:' + success + " 失败:" + fail);
     var myEventDetail = {
      picsList: that.data.detailPics
     } // detail对象,提供给事件监听函数
     var myEventOption = {} // 触发事件的选项
     that.triggerEvent('myevent', myEventDetail, myEventOption) //结果返回调用的页面
    } else { //若图片还没有传完,则继续调用函数
     data.i = i;
     data.success = success;
     data.fail = fail;
     that.uploadimg(data); //递归,回调自己
    }
   }
  });
 },
})

效果图:

微信小程序实现多张图片上传功能

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

Javascript 相关文章推荐
鼠标图片振动代码
Jul 06 Javascript
一个判断email合法性的函数[非正则]
Dec 09 Javascript
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
简述JavaScript中正则表达式的使用方法
Jun 15 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
JavaScript中的this使用详解
Jul 27 Javascript
详解Angular2 关于*ngFor 嵌套循环
May 22 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
iview table render集成switch开关的实例
Mar 14 Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 #Javascript
微信小程序实现通讯录列表展开收起
Nov 18 #Javascript
关于JavaScript中异步/等待的用法与理解
Nov 18 #Javascript
微信小程序实现多行文字滚动
Nov 18 #Javascript
微信小程序实现自定义底部导航
Nov 18 #Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 #Javascript
微信小程序实现加入购物车滑动轨迹
Nov 18 #Javascript
You might like
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP基础学习小结
2011/04/17 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP文件与目录操作示例
2016/12/24 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
python实现逻辑回归的方法示例
2017/05/02 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
学校七一活动方案
2014/01/19 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
志愿者事迹材料
2014/12/26 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
养成教育主题班会
2015/08/13 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
创业计划书之甜品店
2019/09/18 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
python中pymysql包操作数据库方法
2022/04/19 Python