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


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 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
jquery在Chrome下获取图片的长宽问题解决
Mar 20 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 Javascript
如何防止回车(enter)键提交表单
May 11 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
Mar 28 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 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和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
web打印小结
2017/01/11 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
阳光体育活动实施方案
2014/05/25 职场文书
对照检查剖析材料
2014/09/30 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
Python集合的基础操作
2021/11/01 Python
php修改word的实例方法
2021/11/17 PHP
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏