欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序实现图片上传、删除和预览功能的方法

程序员文章站 2022-07-28 20:47:10
本文实例讲述了微信小程序实现图片上传、删除和预览功能的方法。分享给大家供大家参考,具体如下: 这里主要介绍一下微信小程序的图片上传图片删除和图片预览 布局 &...

本文实例讲述了微信小程序实现图片上传、删除和预览功能的方法。分享给大家供大家参考,具体如下:

这里主要介绍一下微信小程序的图片上传图片删除和图片预览

布局

<view class="img-v">
 <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
  <image src="{{item}}" data-index="{{index}}" mode="aspectfill" bindtap="previewimg"></image>
  <view class="delete-btn" data-index="{{index}}" catchtap="deleteimg"></view>
 </view>
 <view class="upload-img-btn" bindtap="chooseimg"></view>
</view>

js处理

 data: {
  imgs: []
 },
// 上传图片
 chooseimg: function (e) {
  var that = this;
  var imgs = this.data.imgs;
  if (imgs.length >= 9) {
   this.setdata({
    lenmore: 1
   });
   settimeout(function () {
    that.setdata({
     lenmore: 0
    });
   }, 2500);
   return false;
  }
  wx.chooseimage({
   // count: 1, // 默认9
   sizetype: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourcetype: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
   success: function (res) {
    // 返回选定照片的本地文件路径列表,tempfilepath可以作为img标签的src属性显示图片
    var tempfilepaths = res.tempfilepaths;
    var imgs = that.data.imgs;
    // console.log(tempfilepaths + '----');
    for (var i = 0; i < tempfilepaths.length; i++) {
     if (imgs.length >= 9) {
      that.setdata({
       imgs: imgs
      });
      return false;
     } else {
      imgs.push(tempfilepaths[i]);
     }
    }
    // console.log(imgs);
    that.setdata({
     imgs: imgs
    });
   }
  });
 },
 // 删除图片
 deleteimg: function (e) {
  var imgs = this.data.imgs;
  var index = e.currenttarget.dataset.index;
  imgs.splice(index, 1);
  this.setdata({
   imgs: imgs
  });
 },
 // 预览图片
 previewimg: function (e) {
   //获取当前图片的下标
  var index = e.currenttarget.dataset.index;
   //所有图片
  var imgs = this.data.imgs;
  wx.previewimage({
   //当前显示图片
   current: imgs[index],
   //所有图片
   urls: imgs
  })
 }

希望本文所述对大家微信小程序开发有所帮助。