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

作者:anLazyAnt 时间:2023-09-20 08:54:30 

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

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

布局


<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
 })
}

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

来源:http://blog.csdn.net/anlazyant/article/details/77374905

标签:微信小程序,图片
0
投稿

猜你喜欢

  • 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    2023-07-26 09:47:46
  • JavaScript正则表达式的简单应用:高亮显示

    2008-07-20 12:46:00
  • 分享PHP header函数使用教程

    2023-09-04 12:07:14
  • sqlserver中with(nolock)深入分析

    2023-07-20 21:28:33
  • Mootools常用方法扩展(四)

    2009-02-21 11:12:00
  • python 检测nginx服务邮件报警的脚本

    2023-08-04 17:34:10
  • CSS 超链接图标规范 V1.0

    2007-12-28 12:05:00
  • php注册系统和使用Xajax即时验证用户名是否被占用

    2023-09-12 05:27:55
  • DreamWeaver批处理提高篇

    2007-12-03 11:34:00
  • 注册表单之电子邮箱

    2008-08-19 17:58:00
  • 通用的下拉菜单__用DL\\DD\\DT解决无法遮住select的问题

    2008-07-28 13:28:00
  • 标签明晰、有效

    2010-01-18 12:22:00
  • Bootstrap每天必学之响应式导航、轮播图

    2023-08-15 03:29:45
  • php异步:在php中使用fsockopen curl实现类似异步处理的功能方法

    2023-07-21 14:48:58
  • 卓越网的配送服务让我很不满意

    2009-03-19 13:49:00
  • display:inline问题小结

    2008-05-01 13:08:00
  • DelphiXE连接MySQL5.1

    2010-12-08 16:44:00
  • ASP.NET中MVC从后台控制器传递数据到前台视图的方式

    2023-06-29 07:09:39
  • Windows下MySQL安全权限设置方法

    2009-07-30 08:32:00
  • Python中的元类编程入门指引

    2023-08-02 02:43:44
  • asp之家 网络编程 m.aspxhome.com