微信小程序实现多文件或者图片上传
作者:In 发布时间:2024-04-29 14:06:10
标签:微信小程序,上传
本文实例为大家分享了微信小程序实现多文件或者图片上传的具体代码,供大家参考,具体内容如下
html
<view class="list1">
? ? <view class="fonts">上传事件相关资料或文件(jpg/pdf/word)<text class="xuan">(选填)</text> </view>
?? ?<view class="cell">
?? ??? ?<view class='jinList' wx:for="{{uploaderList}}" wx:key="index">
?? ??? ??? ?<image class="close1" bindtap="close" data-index="{{index}}" src="../../images/close1.png"></image>
? ? ? ? <image class="jinListImg" wx:if="{{type != 'file'}}" bindtap='showImg' data-index="{{index}}" src='{{item}}'></image>
?? ??? ??? ?<image class="jinListImg" src="../../images/img.png" wx:if="{{type == 'file'}}" mode="aspectFill"></image>
? ? </view>
? ? <view class="jia jia1" bindtap="upImg">
?? ??? ??? ?<image src="../../images/jia.png" ?wx:if="{{isHidden}}"></image>
?? ??? ?</view>
?? ?</view>
</view>
js
data: {
? ? isHidden: true,//原始添加
? ? url: [],//上传文件路径
? ? type: '',//上传文件类型
? ? uploaderList: [],//上传文件数组
? ? showModal: false,
? },
// // 上传图片
? upImg() {
? ? var that = this
? ? wx.chooseMessageFile({
? ? ? count: 1,
? ? ? type: 'all',
? ? ? success(res) {
? ? ? ? // tempFilePath可以作为img标签的src属性显示图片
? ? ? ? // ?console.log('vvvvvvvv',res.tempFiles)
? ? ? ? const tempFilePaths = res.tempFiles[0].path
? ? ? ? const type = res.tempFiles[0].type
? ? ? ? wx.uploadFile({
? ? ? ? ? url: app.globalData.urlSrc + '/api/chuan/index',
? ? ? ? ? filePath: tempFilePaths,
? ? ? ? ? name: 'file',
? ? ? ? ? success(res) {
? ? ? ? ? ? const datas = JSON.parse(res.data)
? ? ? ? ? ? console.log('上传文件', datas)
? ? ? ? ? ? var status = datas.status
? ? ? ? ? ? that.data.list
? ? ? ? ? ? if (status == 1) {
? ? ? ? ? ? ? var upFiles = datas.data
? ? ? ? ? ? ? if (upFiles != '') {
? ? ? ? ? ? ? ? let tempFile = tempFilePaths;
? ? ? ? ? ? ? ? let uploaderList = that.data.uploaderList.concat(tempFile);//返回页面的图片数据
? ? ? ? ? ? ? ? that.data.url = that.data.url.concat(upFiles);//传给后台的图片数据
? ? ? ? ? ? ? ? that.setData({
? ? ? ? ? ? ? ? ? type: type,
? ? ? ? ? ? ? ? ? uploaderList: uploaderList
? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? }
? ? ? ? })
? ? ? }
? ? })
? },
? // 删除上传
? close(e) {
? ? var that = this
? ? var nowList = [];//新数据
? ? var uploaderList = that.data.uploaderList;//原数据
? ? for (let i = 0; i < uploaderList.length; i++) {
? ? ? if (i == e.currentTarget.dataset.index) {
? ? ? ? continue;
? ? ? } else {
? ? ? ? nowList.push(uploaderList[i])
? ? ? }
? ? }
? ? that.setData({
? ? ? uploaderList: nowList,
? ? ? isHidden: true
? ? })
? },
css
.list1 {
? width: 670rpx;
? margin: 0 auto;
}
.tops {
? display: flex;
? margin-bottom: 22rpx;
}
.left1 {
? margin-left: 12rpx;
? line-height: 44rpx;
? text-align: left;
}
.listImg1 {
? width: 44rpx;
? height: 44rpx;
? margin-left: 24rpx;
}
.textarea1 {
? width: 670rpx;
? height: 250rpx;
? line-height: 40rpx;
? border-radius: 44rpx;
? background-color: rgba(255, 255, 255, 1);
? color: rgba(16, 16, 16, 1);
? font-size: 14px;
? text-align: left;
? border: 1px solid rgba(240, 240, 240, 1);
? margin:0 auto;
? padding: 20rpx 40rpx;
? box-sizing: border-box;
? margin-bottom: 40rpx;
}
.jia{
? width: 140rpx;
? height: 140rpx;
? margin-top: 40rpx;
}
.jia image{
? width: 140rpx;
? height: 140rpx;
}
.cell {
? width: 100%;
? overflow: hidden;
}
.jinListImg {
? width: 140rpx;
? height: 140rpx;
? border-radius: 24rpx;
}
.close1 {
? width: 40rpx;
? height: 40rpx;
? position: absolute;
? margin-left: 100rpx;
}
.jia1 {
? float: left;
? position: relative;
}
示例图
来源:https://blog.csdn.net/heavenz19/article/details/109813539


猜你喜欢
- Vue Demi是什么如果你想开发一个同时支持Vue2和Vue3的库可能想到以下两种方式:1.创建两个分支,分别支持Vue2和Vue32.只
- 0. 前言机器学习是人工智能的子集,它为计算机以及其它具有计算能力的系统提供自动预测或决策的能力,诸如虚拟助理、车牌识别系统、智能推荐系统等
- python遍历字符串中的每一个字符有4种方式:1. for in ;2.iter内置函数;3.内置函数range()或xrange();4
- 0. 前言无论在工作中,还是学习中,都会出现这样子的需求,对某张表进行了排序(按时间排序也好,其他字段排序也罢),然后获取前x行的数据,由于
- 环境搭建python 安装:建议使用python3.7pycharm安装requests安装 :pip3 install requestsr
- MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、
- 目录前言创建表关系多表数据操作 - 增删改一对多&一对一关系 - 增删改增加数据删除数据修改数据多对多关系 - 增删改增加多对多关系
- 本文实例为大家分享了Python实现简易图书管理系统的具体代码,供大家参考,具体内容如下首先展示一下图书管理系统的首页:这是图书管理系统的发
- axios是通过Promise实现对ajax技术的一种封装,就像jquery对ajax的封装一样,axios回来的数据是promise,aj
- 前言全可以访问相同的对象, 因此我们讲 这种变量名也叫对象的 "引用".验证1:a = 2b = 3print(id(a
- 动态链接库在Windows中为.dll文件,在linux中为.so文件。以linux平台为例说明python调用.so文件的使用方法。本例中
- 在python-numpy使用中,可以用双层 for循环对数组元素进行访问,也可以切片成每一行后进行一维数组的遍历。代码如下:import
- I. Strict Mode阐述根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:
- 本文实例讲述了php逐行读取txt文件写入数组的方法。分享给大家供大家参考。具体如下:假设有user.txt文件如下:user01user0
- 在使用echarts的自定义饼图Customized Pie时,定义的动态数据会发生颜色无法渲染的问题,如下图所示:该图表的颜色是根据ite
- 项目场景:在使用selenium模块进行数据爬取时,通常会遇到爬取iframe中的内容。会因为定位的作用域问题爬取不到数据。问题描述:我们以
- 1、概述Golang是一种强类型语言,虽然在代码中经常看到i:=12这种写法,这其实是编译器在编译期间自动做了类型推断。编译器会对数据进行类
- 阅读上一篇教程:WEB2.0网页制作标准教程(9)第一个CSS布局实例如果我们想在3列布局的最后加一行页脚,放版权之类的信息。就遇到必须对齐
- 晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown colu
- 钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉