微信小程序实现图片上传、删除和预览功能的方法
作者:anLazyAnt 发布时间:2023-09-20 08:54:30
标签:微信小程序,图片
本文实例讲述了微信小程序实现图片上传、删除和预览功能的方法。分享给大家供大家参考,具体如下:
这里主要介绍一下微信小程序的图片上传图片删除和图片预览
布局
<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
})
}
希望本文所述对大家微信小程序开发有所帮助。
来源:http://blog.csdn.net/anlazyant/article/details/77374905


猜你喜欢
- 先发官方文档的地址:官方文档学习使用的书籍是Python网络数据采集(Ryan Mitchell著),大约是一些笔记的整理。Beautifu
- asp日期转换星座函数,参数是日期型function astro(birth)astro=""if
- 这篇文章给大家介绍Django中使用 Closure Table 储存无限分级数据,具体内容如下所述:起步对于数据量大的情况(比如用户之间有
- 如下所示:<code class="language-python">import numpy as np
- 一、场景描述这里有以四张发票为例(辰哥网上搜的),将发票图片放到pic文件夹下。随便打开一张发票提取目标:金额、名称、纳税人识别号、开票人。
- 前言上一次简单了解了协程的工作原理 前文链接最后提到了几个使用协程时会遇到的问题,其中一个就是主线程不会等待子线程结束,在这里记录两种比较简
- 关于段落<p></p>相信大家已经都在自己的工作中开始关注并应用了。因为那真的是非常简单的事,只要你愿意你随时都可以
- 查询重写插件从MySQL 5.7.6开始,MySQL Server支持查询重写插件,可以在服务器执行之前检查并可能修改服务器接收的语句。以下
- 用了smarty,tp过后,也想了解了解其模板技术是怎么实现,于是写一个简单的模板类,大致就是读取模板文件->替换模板文件的内容-&g
- 前提官网上提供了 Mac 和 Windows 上的安装包和 Linux 上安装需要的源码。下载地址如下:https://www.python
- 本文转自微信公众号:"算法与编程之美"1、问题描述使用HBuilder做一个简单的社区浏览界面。2、解决方案这是对HBu
- antd 的 表单校验方法包括 validateFields 和 validateFieldsAndScroll里面可以接收校验字段数组,
- 引言大纲这个月我会整理分享一系列后端工程师求职面试相关的文章,知识脉络图如下:JAVA/GO/PHP 面试常问的知识点DB:MySql Pg
- 背景np.loadtxt()用于从文本加载数据。文本文件中的每一行必须含有相同的数据。***loadtxt(fname,dtype=<
- 虽然初恋是java, 可是最近是越来越喜欢python,所以决定追根溯源好好了解下python的原理,架构等等.小脑袋瓜不太好使,只能记录下
- 本文实例为大家分享了js实现幸运抽奖九宫格大转盘效果,供大家参考,具体内容如下实现代码:<!DOCTYPE html><h
- 本文实例讲述了python随机生成指定长度密码的方法。分享给大家供大家参考。具体如下:下面的python代码通过对各种字符进行随机组合生成一
- 1.说明:复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b&nb
- 引言我们前面的文章介绍了数字和字符串,比如我计算今天一天的开销花了多少钱我可以用数字来表示,如果是整形用 int ,如果是小数用 float
- 前言:创建进程池可以形象地理解为创建一个并行的流水线,只需创建一次流水线的消耗,处理接收到的任务的,不使用进程池。 ,浪费时间。中方本来没有