效果图

index.wxml

<!-- 打开截图 开始 -->
<view class="imageContainer"><view class="imageFrame"><view class="imageSingle" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this"><image class="imagePic"src="{{item}}"data-index="{{index}}" mode="aspectFill" bindtap="previewImg"><icon type="cancel" class="imageRemove" data-index="{{index}}" catchtap="deleteImg"></icon></image></view><!-- 用来提示用户上传图片 --><view class="imageSingle" bindtap="chooseImg"><image class="imagePic" src="/image/imageAdd.png"></image></view></view>
</view>
<!-- 打开截图 结束 -->

index.wxss

/* 图片容器 */
.imageContainer {width: 100%;background-color: white;/* 子容器水平居中 */display: flex;flex-direction: column;align-items: center;  /* border: 1rpx solid black; */
}/* 图片框架 */
.imageFrame {margin: 30rpx 0;width: 93%;/* border: 1rpx solid red; */
}/* 单张图片 */
.imageSingle {width: 32%;float: left;position: relative;margin-right: 7rpx;/* border: 1rpx solid blue; */
}/* 添加图片+预览照片 */
.imagePic {width: 100%;height: 222rpx;
}/* 删除图片 */
.imageRemove {position: absolute;top: 0;right: 0;
}

index.js

Page({/*** 页面的初始数据*/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, // 默认9sizeType: ['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})},
})

小程序 | 微信小程序实现图片是上传、预览功能相关推荐

  1. JAVA实现一个图片上传预览功能

    这个小项目主要使用java实现了一个简单的图片上传预览功能,废话不多说,先上实现成果 ^ _ ^

  2. C#实现winform下图片的上传预览保存以及在桌面应用系统的应用

    C#实现winform下图片的上传预览保存以及在桌面应用系统的应用 图片的上传.预览.保存操作在许多应用系统中经常需要用到,比如员工的头像即为一个典型的案例.在很多应用系统中,比如C#的B/S.C/S ...

  3. js实现图片上传预览功能

    js实现图片上传预览功能 很多业务场景下,我们需要在用户上传图片前,先预览待上传的图片 <body><input type="file"><img s ...

  4. js图片上传预览功能

    最近项目中用到的图片上传前预览功能,兼容IE6-9,FF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  5. vue+elementUI 实现图片上传预览功能

    准备工作:你需要一个后台接口,你传文件给他,他返回一个图片在线链接.ok,开干! 用到的是elmentUI里的el-upload,先去看官网例子.我用到的是图片列表 先把html的框架copy过来,然 ...

  6. java后台图片的上传预览接口 IO流

    上传图片接口    图片保存到服务器(适用于任何文件) /** * 上传医生照片 * @param request * @return * @throws Exception * @throws IO ...

  7. jq php异步上传图片,PHP+Ajax实现图片异步上传预览

    说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submi ...

  8. vue图片上传预览功能

    效果图 html结构 <ul class="gallery-window-map" style="flex-wrap:wrap;"><!--点 ...

  9. 如何实现上传多个图片并依次展示_js前端实现多图图片上传预览的两个方法(推荐)...

    一.将图片转成icon码的实现方式 html代码: js代码 //图片预览功能 function previewImage(file,imgNum) { var MAXWIDTH = 200; var ...

  10. java实现文件上传预览_jsp+springmvc实现文件上传、图片上传和及时预览图片

    1.多文件上传:http://blog.csdn.net/a1314517love/article/details/24183273 2.单文件上传的简单示例:http://blog.csdn.net ...

最新文章

  1. mysql和mongodb配合_MongoDB和Mysql怎样结合
  2. EntityFramework 7.0之初探【基于VS 2015】(十)
  3. DSP学习 -- C语言实现MySQL数据库操作
  4. 机器学习09支持向量机
  5. java什么变量用作英文_Java基础之变量-什么是变量
  6. 卡诺模型案例分析_3个维度看竞品分析!
  7. Ubuntu 配置串口信息
  8. jstree中文api文档_还在用 Swagger(丝袜哥)生成接口文档?我推荐你试试它。。。...
  9. 有几百万的房子,也吃不起西贝,感觉像在交税…….
  10. Day01-计算机入门
  11. java se官网_Java下载|Java SE Development Kit官方下载-太平洋下载中心
  12. 史上最全最简洁的网络传输协议介绍
  13. 手写Promise 封装Promise resolve reject then catch Promise.resolve Promise.reject
  14. Android使用marked.js渲染markdown文档
  15. 将未加入域的电脑加入域的步骤
  16. Visio画图(直角坐标系和relu函数)
  17. js 数组转json,json转数组
  18. recovery的一些开发点滴
  19. spark shuffle(ExchangeExec)过多导致任务运行过慢甚至超时
  20. Dobot Magician 机器臂-简介

热门文章

  1. http返回头中content-length与Transfer-Encoding: chunked的问题释疑
  2. 帝国 标签模板 使用程序代码 自定义 时间显示方式
  3. ZZULIOJ 1099: 角谷猜想(多实例测试)
  4. 为什么软件测试容易被小看,做软件测试容易忽视的问题
  5. 16 SD配置-企业结构-分配-给信贷控制区分配公司代码
  6. python global用法_【干货】每天更新两个Python 小例子(十九)
  7. 我的世界进入离开服务器消息,我的世界暂时离开状态修改 人性化设定AFK
  8. ios系统脚本服务器加速,提高iOS项目的编译速度
  9. oracle substr(table),oracle中的substr()函数
  10. JAVA岗位比嵌入式岗位_java嵌入式职业选择?