Browse Source

解决多文件上传BUG

wukai 1 year ago
parent
commit
3d37ea0cc1
2 changed files with 26 additions and 22 deletions
  1. 3 0
      src/api/upload/upload.js
  2. 23 22
      src/views/myfile/MyFile.vue

+ 3 - 0
src/api/upload/upload.js

@@ -27,6 +27,9 @@ function uploadFileMany(data) {
         url: `/biz/info/uploadFiles`,
         method: "post",
         data,
+		headers: {
+		    'Content-Type': 'multipart/form-data'
+		},
     })
 }
 export default {

+ 23 - 22
src/views/myfile/MyFile.vue

@@ -1279,28 +1279,29 @@ export default {
                 return
             } else {
                 if (fileArr.value.length > 0) {
-                    for (var i = 1; i <= fileArr.value.length; i++) {
-                        uploadApi.uploadFile({
-                            spaceId: newSpaceId.value - 0,
-                            dirId: newDirId.value - 0,
-                            file: fileArr.value[i - 1]
-                        }).then(res => {
-                            if (res.code === 200) {
-                                ElMessage({
-                                    message: "上传文件成功",
-                                    type: "success"
-                                })
-                                // getAllTop()
-                                refreshFile()
-                                uploadModal.value = false
-                                loadingUpload.value = false;
-                                fileArr.value = []
-                            }
-                        }).catch(err => {
-                            loadingUpload.value = false;
-                            fileArr.value = []
-                        })
-                    }
+					let form=new FormData();
+					for (var i = 0; i < fileArr.value.length; i++) {
+						form.append("files",fileArr.value[i]);
+					}
+					form.append("spaceId",newSpaceId.value)
+					form.append("dirId",newDirId.value)
+					// console.error(fileArr.value);
+					uploadApi.uploadFileMany(form).then(res => {
+					    if (res.code === 200) {
+					        ElMessage({
+					            message: "上传文件成功",
+					            type: "success"
+					        })
+					        // getAllTop()
+					        refreshFile()
+					        uploadModal.value = false
+					        loadingUpload.value = false;
+					        fileArr.value = []
+					    }
+					}).catch(err => {
+					    loadingUpload.value = false;
+					    fileArr.value = []
+					})
                 } else {
                     loadingUpload.value = false;
                     return ElMessage({ message: "请选择文件", type: "error" })