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


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 相关文章推荐
javascript实现控制文字大中小显示
Apr 28 Javascript
javascript实现动态标签云
Oct 16 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
Mar 10 Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
AngularJS中的路由使用及实现代码
Oct 09 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
Jul 10 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
Jan 19 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 Javascript
antd design table更改某行数据的样式操作
Oct 31 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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
php二分法在IP地址查询中的应用
2008/08/12 PHP
php 团购折扣计算公式
2011/11/24 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
jquery分页插件pagination使用教程
2018/10/23 jQuery
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
TensorFlow实现Logistic回归
2018/09/07 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
Python 串口通信的实现
2020/09/29 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
专科应届生求职信
2013/11/24 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
孕妇离婚协议书范本
2014/11/20 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android
python之基数排序的实现
2021/07/26 Python