diff --git a/src/api/file.ts b/src/api/file.ts index 3203195b..498074c8 100644 --- a/src/api/file.ts +++ b/src/api/file.ts @@ -1,6 +1,11 @@ import request from "@/utils/request"; class FileAPI { + /** + * 文件上传地址 + */ + static uploadUrl = import.meta.env.VITE_APP_BASE_API + "/api/v1/files"; + /** * 上传文件 * @@ -31,6 +36,27 @@ class FileAPI { params: { filePath: filePath }, }); } + + /** + * 下载文件 + * @param url + * @param fileName + */ + static downloadFile(url: string, fileName?: string) { + return request({ + url: url, + method: "get", + responseType: "blob", + }).then((res) => { + const blob = new Blob([res.data]); + const a = document.createElement("a"); + const url = window.URL.createObjectURL(blob); + a.href = url; + a.download = fileName || "下载文件"; + a.click(); + window.URL.revokeObjectURL(url); + }); + } } export default FileAPI; diff --git a/src/components/Upload/FileUpload.vue b/src/components/Upload/FileUpload.vue new file mode 100644 index 00000000..61a35e2c --- /dev/null +++ b/src/components/Upload/FileUpload.vue @@ -0,0 +1,329 @@ + + + + + + {{ props.uploadBtnText }} + + + + {{ props.tip }} + + + + + + + {{ file.name }} + + + + + + + + + + + + diff --git a/src/components/Upload/ImageUpload.vue b/src/components/Upload/ImageUpload.vue index b5992729..d48a2ddd 100644 --- a/src/components/Upload/ImageUpload.vue +++ b/src/components/Upload/ImageUpload.vue @@ -1,4 +1,4 @@ - + + @@ -64,13 +163,28 @@ const tableData = [ - - - + - + + + + + + + + + + + +