需求:上传图片,虽然是多张,但是请求接口的时候是一张一张进行的

// 1. 创建所有文件的上传 Promise 数组
          const uploadPromises = this.fileList.map((file, index) => {
            const formData = new FormData();
            formData.append("parentId", this.parentId);
            formData.append("fileIndex", index);
            formData.append("file", file.raw);
            this.formData = formData
            this.loading = true
            this.loading1 = true
            return axios
              .post(this.uploadFileUrl, formData, { headers: this.headers })
              .then((res) => {
                if (res.data.code === 200) {
                  // 上传成功:标记状态为 3(成功)
                  this.$set(this.fileList, index, {
                    ...file,
                    fileStatus: 3,
                    fileDesc: res.data.msg || "上传成功",
                  });
                } else {
                  // 上传失败:标记状态为 1(失败)
                  this.$set(this.fileList, index, {
                    ...file,
                    fileStatus: 1,
                    fileDesc: res.data.msg || "上传失败",
                  });
                }
                return { index, success: res.data.code === 200, res };
              })
              .catch((error) => {
                // 请求异常:标记状态为 1(失败)
                this.$set(this.fileList, index, {
                  ...file,
                  fileStatus: 1,
                  fileDesc: "网络错误,上传失败",
                });
                return { index, success: false, error };
              });
          });

          // 2. 等待所有上传完成
          const results = await Promise.all(uploadPromises);
         //这个下面可以做其他操作
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容