小程序上传多张图片

作者 : 开心源码 本文共1344个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共145人阅读

以前写过小程序网络和本地图片到相册的方法:https://www.songma.com/p/5479041607fa,写过上传一张或者多张图片到阿里云OSShttps://www.songma.com/p/ea2e567b6f2c, 写过小程序加载本地图片路径问题https://www.songma.com/p/c0dd3e191322,这次写个布局关于多张图片上传。

效果图

思路:
整体图片选择用一个view控件,前面选中的图片为一个block根据选择图片的数量来显示多少个,后面的选择图片按钮为一个view。选中图片上面的删除按钮,用绝对定位和相对定位来解决。增加图片,删除图片,点击选中图片查看大图等增加一个点击事件

考虑问题:
1.上传的多少张图片?
2.上传后想删除?
3.如何控制布局,使用好使用flex布局。

关键代码:

 /** 选择图片 */  chooseImage: function () {    var that = this;    wx.chooseImage({      count: 9 - that.data.imgArr.length,      sizeType: ['original', 'compressed'],       sourceType: ['album', 'camera'],       success: function (res) {        if (res.tempFilePaths.count == 0) {          return;        }        //上传图片        var imgArrNow = that.data.imgArr;        imgArrNow = imgArrNow.concat(res.tempFilePaths);        that.setData({          imgArr: imgArrNow        })        that.chooseViewShow();      }    })  },

代码中的9是中最多传9张图片,图片类型能否为压缩,图片来源是相册还是相机。

/** 删除图片 */  deleteImv: function (e) {    var imgArr = this.data.imgArr;    var itemIndex = e.currentTarget.dataset.id;    imgArr.splice(itemIndex, 1);    this.setData({      imgArr: imgArr    })    //判断能否隐藏选择图片    this.chooseViewShow();  },

删除照片,改变布局格式显示。

/** 能否隐藏图片选择 */  chooseViewShow: function () {    if (this.data.imgArr.length >= 9) {      this.setData({        chooseViewShow: false      })    } else {      this.setData({        chooseViewShow: true      })    }  },  /** 显示图片 */  showImage: function (e) {    var imgArr = this.data.imgArr;    var itemIndex = e.currentTarget.dataset.id;    wx.previewImage({      current: imgArr[itemIndex], // 当前显示图片的http链接      urls: imgArr // 需要预览的图片http链接列表    })  },

使用到系统自带的方法,点击图片预览大图。

demo地址为: dt8888/moreImgaes

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 小程序上传多张图片

发表回复