小程序上传多张图片

在这里插入图片描述

//html
	  <view class="mb-16 mt-32">
        <van-uploader
          file-list="{{ fileList }}"
          max-count="5"
          bind:after-read="afterRead"
          preview-size="60"
          bind:delete="del"
        />
        <view class="size-26 gray-2">(上传凭证,最多5张)</view>
      </view>
     <!-- 提交 -->
    <view class="submit fixed ptb-16 plr-24 fixed-bottom bg" bindtap="submit">
      <van-button type="danger" round block size="large">提交</van-button>
    </view>
//js
import { http, uploadImage } from '../../utils/index'
data: {
    fileList: [],
    img: [],
 },
	//上传
	async afterRead(event) {
      const { file, index } = event.detail
      this.setData({
        [`fileList[${index}]`]: {
          url: file.path,
          status: 'uploading',
          message: '上传中',
        },
      })
      try {
        const { data } = await uploadImage(file.path)
        this.setData({
          [`img[${index}]`]: JSON.parse(data).data.url,
          [`fileList[${index}]`]: { url: file.path, status: 'success' },
        })
      } catch (err) {
        this.setData({
          [`fileList[${index}]`]: {
            url: file.path,
            status: 'failed',
            message: '上传失败',
          },
        })
      }
    },
    //删除
	

	> bug:删除数组的方法splice,会直接改变原数组为删除后的数组,返回值是删除掉的那一项

    del(event) {
      const index = event.detail.index
      this.data.img.splice(index, 1)
      this.data.fileList.splice(index, 1)
      this.setData({
        img: this.data.img,
        fileList: this.data.fileList,
      })
    },
    //提交
    submit() {
      const { img } = this.data
    },
// 公共上传图片的方法
/**
 * 上传图片
 * @param {String} tempFilePath 图片路径
 */
export const uploadImage = tempFilePath => {
  return wxp.uploadFile({
    url: baseURL + '/weapp' + '/common/uploadali',
    filePath: tempFilePath,
    name: 'file',
    formData: {
      file: tempFilePath,
    },
    header: {
      'Content-Type': 'multipart/form-data',
      token: wx.getStorageSync('token'),
      ...headers,
    },
  })
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曲曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值