本文小编为大家详细介绍“微信小程序怎么实现多文件或图片上传”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现多文件或图片上传”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
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;}
示例图
读到这里,这篇“微信小程序怎么实现多文件或图片上传”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。