美文网首页
vue/uniapp 批量上传图片

vue/uniapp 批量上传图片

作者: 南土酱 | 来源:发表于2023-06-27 16:54 被阅读0次

一般我们图片列表存储在 arr
然后通过接口批量上传
这里通过uni的API 举例,vue 那边自己替换一下 上传方法即可
重点是 如何批量上传 并且 promise 更新图片数据

async checkImgUpload(){
    //判断图片是否为空
      if(this.photoFiles.length){
    //存储上传失败的列表
        this.uploadFailImgList = []
  //利用 await 可轻松获取 promise 返回的值
//使用 promise .all 配合 map 可以轻松实现 所有 图片上传成功在一起返回结果,避免使用 for 循环,代码优雅且标准
        this.photoFiles = await Promise.all(this.photoFiles.map(async item=>{
          if(!item.ossId){
            return await new Promise((resolve, reject) => {
              uni.uploadFile({
                url: config.baseUrl + '/system/oss/upload',
                filePath: item.url,
                name: 'file',
                header: { Authorization: 'Bearer ' + this.$store.getters.token },
                success: (uploadFileRes) => resolve(uploadFileRes.data),
                fail: (err) => reject(err)
              })
            }).then(res=>{
              const data = JSON.parse(res)
              return {
                url: data.data.url,
                ossId: data.data.ossId,
                isUploaded: true
              }
            }).catch((err)=>{ this.uploadFailImgList.push(item);return item })
          }else{
            return item
          }
        }))
      }
    },

\color{#228B22}{前端学习小总结,不对之处,欢迎大神们喷我。可以的话顺手点个赞吧~~!}
\color{red}{警: 禁止抄袭,转载说明出处 }

相关文章

网友评论

      本文标题:vue/uniapp 批量上传图片

      本文链接:https://www.haomeiwen.com/subject/resnydtx.html