微信小程序实现多文件或者图片上传

Serena ·
更新时间:2024-11-14
· 1820 次阅读

本文实例为大家分享了微信小程序实现多文件或者图片上传的具体代码,供大家参考,具体内容如下

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; }

示例图



微信 小程序 图片上传 程序 图片 微信小程序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章