美文网首页
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