微信小程序实现上传图片小功能
作者:花笙_ 发布时间:2024-04-26 17:11:56
标签:微信小程序,上传图片
本文实例为大家分享了微信小程序实现上传图片的具体代码,供大家参考,具体内容如下
用到的api
wx.chooseMedia(); 用于拍摄或从手机相册中选择图片或视频
功能:点击上传图片,可多选,或者拍照上传;点击图片放大查看;长按图片删除
效果图
json里面引用weui的组件uploader
{
"navigationBarTitleText": "评价工单",
"usingComponents": {
"mp-uploader": "weui-miniprogram/uploader/uploader",
"mp-cells": "weui-miniprogram/cells/cells",
"mp-cell": "weui-miniprogram/cell/cell"
}
}
wxml
<view class="weui-uploader">
<view class="img-v weui-uploader__bd">
<view class='pic' wx:for="{{technicianAssessPicture}}" wx:for-item="item" wx:key="*this">
<image class='weui-uploader__img ' src="{{item}}" data-index="{{index}}" mode="aspectFill" bindlongpress="deleteTechnician" bindtap="previewTechnician">
</image>
</view>
<view class="weui-uploader__input-box pic" bindtap="technicianImg"> </view>
</view>
</view>
js
data:(){
technicianAssessPicture: [], // 技师图片
}
// 上传技师图片
technicianImg: function (e) {
var that = this;
var technicianAssessPicture = this.data.technicianAssessPicture;
if (technicianAssessPicture.length >= 9) {
this.setData({
lenMore: 1
});
setTimeout(function () {
that.setData({
lenMore: 0
});
}, 2500);
return false;
}
wx.chooseMedia({
count: 9, // 默认9
mediaType: ['image','video'], // 文件类型
// image 只能拍摄图片或从相册选择图片
// video 只能拍摄视频或从相册选择视频
// sizeType: ['original', 'compressed'], //所选的图片的尺寸 original原图,compressed压缩图
// 仅对 mediaType 为 image 时有效,是否压缩所选文件
sourceType: ['album', 'camera'], //图片和视频选择的来源
maxDuration: 30, // 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。
camera: 'back', // 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头
// back 使用后置摄像头;front 使用前置摄像头
success: function (res) {
var tempFilePaths = res.tempFiles;
var technicianAssessPicture = that.data.technicianAssessPicture;
for (var i = 0; i < tempFilePaths.length; i++) {
if (technicianAssessPicture.length >= 9) {
that.setData({
technicianAssessPicture: technicianAssessPicture
});
return false;
} else {
const tempFilePaths1 = tempFilePaths.map(v=>v.tempFilePath)
// tempFilePaths数据是json数组,我们需要的是普通数组需要处理一下
technicianAssessPicture.push(tempFilePaths1[i]);
}
}
that.setData({
technicianAssessPicture: technicianAssessPicture
});
console.log(that.data.technicianAssessPicture, 'hhhhhhhhhhhhhhhhhhhhh');
}
});
},
处理后打印出来的数据
预览,删除
// 预览图片
previewTechnician: function (e) {
//获取当前图片的下标
var index = e.currentTarget.dataset.index;
//所有图片
var technicianAssessPicture = this.data.technicianAssessPicture;
wx.previewImage({
//当前显示图片
current: technicianAssessPicture[index],
//所有图片
urls: technicianAssessPicture
})
},
// 长按删除
deleteTechnician: function (e) {
var that = this;
var technicianAssessPicture = that.data.technicianAssessPicture;
var index = e.currentTarget.dataset.index; // 获取当前长按图片下标
wx.showModal({
// cancelColor: 'cancelColor',
title: '提示',
content: '确定要删除此图片吗?',
success: function (res) {
if (res.confirm) {
console.log('确定');
technicianAssessPicture.splice(index, 1);
} else if (res.cancel) {
console.log('取消');
return false;
}
that.setData({
technicianAssessPicture
})
}
})
},
来源:https://blog.csdn.net/wang_59881/article/details/121747304


猜你喜欢
- 现在的互联网上已经有很多能帮助设计师们的各种在线生成器,比如:图标(icon)生成器、背景生成器、按钮生成器和标志生成器等。Balkhis曾
- 在开发国际化网站的时候,难免会与时区打交道,通用CMS更是如此,毕竟其 * 户可能是来自于全球各地的。Django在时区这个问题上下了不少功
- 作用:用ASP程序将页面中的电话号码生成图片格式。 代码如下:<% Call Com_CreatValidCode
- BCP语句的作用:BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DT
- 数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把
- 1. 需要的库, redispip install redis2. 连接Redisimport redisclass RedisCtrl(o
- 导入所需库%matplotlib inlineimport sympyimport numpy as npimport matplotlib
- 这篇文章主要介绍了Python手绘可视化工具cutecharts使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 今天我要讲如何远程调试openstack。首先我们使用的工具是Pycharm.1.首先介绍一下环境我的openstack是使用rdo一键安装
- 【背景】 最近学习碰到了一件挺令人尴尬的事情,我把MySQL的密码给忘记了,所以
- python爬虫中使用urli库可以使用opener"发送多个请求,这些请求是能共享处理cookie的,小编之前也提过python
- 今天我们来学习,如何使用有趣的自定义标记来布局页面。有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢?这里我们就要用到文
- 人常常感受到色彩对自己心理的影响,这些影响总是在不知不觉中发挥作用,左右我们的情绪。色彩的心理效应发生在不同层次中。有些属直接的刺激,有些要
- 黑夜可能漫长,但总会迎来温暖的阳光,三月如期而至,武大的樱花又一次盛开。那么今天就一起来看看怎样在python中画一棵美丽的樱花树~说到用p
- package 机制package是模块的集合,每一个Package的根目录下面都应当有一个__init__.py 文件。当解释器发现目录下
- 方法1:pythonw xxx.py方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe)跟 python.e
- 一、查询操作可以使用Dataframe的index属性和columns属性获取行、列索引。import pandas as pddata =
- 一、朋友圈九宫格效果图二、图片基本操作打开要处理的图片判断打开的图片是否为正方形如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正
- 1:在终端下:mysql -V。 以下是代码片段:[shengting@login ~]$ mysql -Vmysql Ver 14.7 D
- 方法一 :这个是我在站长工具的查询页面使用的防止频繁查询,刷新页面的代码!下面函数的功能是3秒内查询页面即刷新了页面,超过2次就提示!sea