这篇文章主要为大家详细介绍了微信小程序实现上传图片的功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

WXML

<view class="img-wrap"><view class="txt">上传图片</view><view class="imglist"><view class="item" wx:for="{{imgs}}" wx:key="item"><image src="{{item}}" alt=""></image><view class='delete' bindtap='deleteImg' data-index="{{index}}"><image src="../../../images/icon.png"></image></view></view><view class="last-item" wx:if="{{imgs.length >= 3 ? false : true}}" bindtap="bindUpload"><text class="sign">+</text></view></view>
</view>

JS

data: {imgs: [],count: 3
},
bindUpload: function (e) {switch (this.data.imgs.length) {case 0:this.data.count = 3breakcase 1:this.data.count = 2breakcase 2:this.data.count = 1break}var that = thiswx.chooseImage({count: that.data.count, // 默认3sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片var tempFilePaths = res.tempFilePathsfor (var i = 0; i < tempFilePaths.length; i++) {wx.uploadFile({url: 'https://graph.baidu.com/upload',filePath: tempFilePaths[i],name: "file",header: {"content-type": "multipart/form-data"},success: function (res) {if (res.statusCode == 200) {wx.showToast({title: "上传成功",icon: "none",duration: 1500})that.data.imgs.push(JSON.parse(res.data).data)that.setData({imgs: that.data.imgs})}},fail: function (err) {wx.showToast({title: "上传失败",icon: "none",duration: 2000})},complete: function (result) {console.log(result.errMsg)}})}}})
},
// 删除图片
deleteImg: function (e) {var that = thiswx.showModal({title: "提示",content: "是否删除",success: function (res) {if (res.confirm) {for (var i = 0; i < that.data.imgs.length; i++) {if (i == e.currentTarget.dataset.index) that.data.imgs.splice(i, 1)}that.setData({imgs: that.data.imgs})} else if (res.cancel) {console.log("用户点击取消")}}})
}

WXSS

.wrap {width: 100%;padding: 0 30rpx;box-sizing: border-box;
}
.wrap .img-wrap {font-size: 30rpx;color: #33373E;margin-bottom: 10rpx;
}
.wrap .img-wrap .txt {margin-bottom: 20rpx;
}
.wrap .img-wrap .imglist {display: flex;flex-wrap: wrap;
}
.wrap .img-wrap .imglist .item {width: 150rpx;height: 150rpx;margin-right: 22rpx;margin-bottom: 10rpx;position: relative;
}
.wrap .img-wrap .imglist .last-item {width: 150rpx;height: 150rpx;text-align: center;line-height: 146rpx;border: 2rpx dashed #8B97A9;box-sizing: border-box;
}
.wrap .img-wrap .imglist .item image {width: 100%;height: 100%;
}
.wrap .img-wrap .imglist .item .delete {width: 30rpx;height: 30rpx;position: absolute;top: -14rpx;right: -12rpx;
}

微信小程序实现上传图片的功能相关推荐

  1. 开发微信小程序实现上传图片 拍照功能

    wxml代码: //给button添加点击事件 <button bindtap="doUpload"></button> js代码 doUpload(){/ ...

  2. 微信小程序原生上传图片封装

    资源参考 组件免费下载地址 概述 微信小程序原生上传图片功能封装,具体使用根据个人情况而定. 组件自定义属性与方法描述 isShow:布尔值,默认为true true:不显示上传图标 false:显示 ...

  3. 微信小程序 拍照打卡功能实现

    微信小程序 拍照打卡功能实现 附Java代码 小程序端 签到页面wxml 签到页面js 拍照页面wxml 拍照页面js Java后台 保存照片 保存打卡数据 由于拍照组件是相当于一个块,用隐藏显示的方 ...

  4. nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能

    利用Nodejs怎么实现一个微信小程序消息推送功能 发布时间:2021-01-20 13:55:29 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关利用Nodejs怎么实现一个微信小程 ...

  5. php 微信小程序 循环 多选,微信小程序实现多选功能

    本文为大家分享了微信小程序实现多选功能的具体代码,供大家参考,具体内容如下 代码: {{num + 1}}/{{quesyion.length}}{{question[num][0]}} A {{qu ...

  6. 如何实现消息功能_如何实现微信小程序的轮盘抽奖功能

    为了吸引用户,商家会做一些活动,利用赠送或充值的积分来进行抽奖,现在来讲下微信小程序如果实现轮盘抽奖的功能,先看下图: 上面展示的就是轮盘抽奖,一共有六个奖项,其中一个是"不中奖" ...

  7. 微信小程序可以实现很多功能

    微信小程序可以实现很多功能,今天就教大家如何利用小程序插件来实现这些功能:  1.直播 你可以在「上线了」选择一个电商(或超级云名片-电商版)小程序模板,在"应用中心"里添加小程序 ...

  8. 微信聊天自动解析html文本,微信小程序纯文本实现@功能

    前言 大家肯定对@功能不陌生,在如今的各大社交软件中它是一种不可或缺的功能.实现@人的功能并不复杂,只需将@人员的id传给后端,后端下发通知即可.主要的复杂点在于一键删除功能与变色功能,web端可以使 ...

  9. 借鉴华为HiLink实现微信小程序智能配网功能

    借鉴华为HiLink实现微信小程序智能配网功能 微信小程序介绍 微信公众号智能配网 Smartconfig实现原理 Smartconfig技术的弊端 AP配网技术的出现 微信小程序智能配网 模块端设置 ...

  10. 微信小程序实现替换logo功能

    1.背景 产品觉得用公司logo生成的的二维码太丑 觉得橘黄色和黑色不搭配,希望替换logo,在此之前,我也是没有做过这个功能的,于是我查阅了大量资料.加上自己的代码,实现了这个功能.实现的效果如下 ...

最新文章

  1. linux源码包卸载方式
  2. 各大厂这个档次分配,大佬们有什么看法?
  3. 编程语言趋势最新报告:开发者最青睐DevOps,Kotlin增长最快
  4. 通过FxCop来验证.NET编码规范
  5. 整合mybatis——使用纯注解整合、使用Mapper+Mapper.xml整合、使用mybatis.cfg.xml整合
  6. b-spline python_SciPyTutorial-一元B样条插值
  7. python测试代码与模块_测量Python代码运行时间
  8. Highcharts x轴为时间时,设置plotBands
  9. 三次iframe框架切换
  10. Linux命令之awk:运算与判断(三)
  11. python import as 实例化_python中import list,dictionary常量在class实例化时遇到的坑
  12. 第3章 数据库操作SQL语言---数据库原理及应用
  13. 可视计算机应用期末考试,职称计算机考试photoshop考试习题复习
  14. 惠州教学实验室建设与管理
  15. 5.[STM32]动动小手,自己制作做一个自动浇花系统吧
  16. Linux系统库函数之strsep
  17. 构造哈希表(C语言)
  18. Linux系统配置VLAN
  19. 【译】SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
  20. 5G网络切片的七种武器(三)

热门文章

  1. kx linux驱动下载,创新5.1声卡驱动kX Project Audio DriverV5.1免费版下载 - 下载吧
  2. linphone 回声消除
  3. flash builder4.6 集成svn1.8报错
  4. 异步IO框架实现之完成端口(Completion Port)
  5. 记一次 CentOS7部署 可道云(kodexplorer)私有网盘
  6. java初级工程师职责_Java初级开发工程师工作的岗位职责
  7. 计算二阶矩阵特征值的技巧
  8. Java分布式系统框架教程,架构设计
  9. html 选择题代码,JS实现简单的选择题测评系统代码思路详解(demo)
  10. hutool实战(带你掌握里面的各种工具)目录