1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
| import request from "@/utils/request";
|
| const FileAPI = {
| /**
| * 上传文件
| *
| * @param file
| */
| upload(formData: FormData) {
| return request<any, FileInfo>({
| url: "/api/v1/files",
| method: "post",
| data: formData,
| headers: {
| "Content-Type": "multipart/form-data",
| },
| });
| },
|
| /**
| * 上传文件
| */
| uploadFile(file: File) {
| const formData = new FormData();
| formData.append("file", file);
| return request<any, FileInfo>({
| url: "/api/v1/files",
| method: "post",
| data: formData,
| headers: {
| "Content-Type": "multipart/form-data",
| },
| });
| },
|
| /**
| * 删除文件
| *
| * @param filePath 文件完整路径
| */
| delete(filePath?: string) {
| return request({
| url: "/api/v1/files",
| method: "delete",
| params: { filePath: filePath },
| });
| },
|
| /**
| * 下载文件
| * @param url
| * @param fileName
| */
| download(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;
|
| /**
| * 文件API类型声明
| */
| export interface FileInfo {
| /** 文件名 */
| name: string;
| /** 文件路径 */
| url: string;
| }
|
|