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


Posted in Javascript onDecember 18, 2017

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

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

布局

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

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

Javascript 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
JavaScript学习笔记(二) js对象
Oct 25 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
Nov 04 Javascript
ajax java 实现自动完成功能
Dec 19 Javascript
js通过location.search来获取页面传来的参数
Sep 11 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
基于JS2Image实现圣诞树代码
Dec 24 Javascript
详解vue项目的构建,打包,发布全过程
Nov 23 Javascript
Vue动态加载异步组件的方法
Nov 21 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
如何区分vue中的v-show 与 v-if
Sep 08 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 #Javascript
在knockoutjs 上自己实现的flux(实例讲解)
Dec 18 #Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 #Javascript
分析JavaScript数组操作难点
Dec 18 #Javascript
微信小程序基于本地缓存实现点赞功能的方法
Dec 18 #Javascript
JavaScript模块详解
Dec 18 #Javascript
webpack打包js文件及部署的实现方法
Dec 18 #Javascript
You might like
PHP 编写的 25个游戏脚本
2009/05/11 PHP
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
python 实现归并排序算法
2012/06/05 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python中如何获取类属性的列表
2016/12/26 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
工商管理实习生自我鉴定范文
2013/12/18 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
料理师求职信
2014/01/30 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
2016公司新年问候语
2015/11/11 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android