diff --git a/src/api/file-api.ts b/src/api/file-api.ts index 826698ef..b899c447 100644 --- a/src/api/file-api.ts +++ b/src/api/file-api.ts @@ -1,13 +1,19 @@ import request from "@/utils/request"; const FileAPI = { - /** 上传文件 */ - upload(formData: FormData) { + /** 上传文件 (传入 FormData,上传进度回调) */ + upload(formData: FormData, onProgress?: (percent: number) => void) { return request({ url: "/api/v1/files", method: "post", data: formData, headers: { "Content-Type": "multipart/form-data" }, + onUploadProgress: (progressEvent) => { + if (progressEvent.total) { + const percent = Math.round((progressEvent.loaded * 100) / progressEvent.total); + onProgress?.(percent); + } + }, }); }, diff --git a/src/components/Upload/FileUpload.vue b/src/components/Upload/FileUpload.vue index 6857acec..baa88a67 100644 --- a/src/components/Upload/FileUpload.vue +++ b/src/components/Upload/FileUpload.vue @@ -6,7 +6,6 @@ :style="props.style" :before-upload="handleBeforeUpload" :http-request="handleUpload" - :on-progress="handleProgress" :on-success="handleSuccess" :on-error="handleError" :accept="props.accept" @@ -20,25 +19,24 @@ - -