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
| // 模式
| export enum MODETYPE {
| // 本地
| LOCAL = 'local',
| // 云存储
| CLOUD = 'cloud',
| // 其他
| OTHER = 'other',
| }
|
| /**
| * 上传模式
| */
| export interface Mode {
| // 模式
| mode: MODETYPE;
| // 类型
| type: string;
| }
|
| /**
| * 文件上传
| */
| export interface BaseUpload {
| /**
| * 获得上传模式
| */
| getMode(): Promise<Mode>;
|
| /**
| * 获得原始操作对象
| * @returns
| */
| getMetaFileObj(): Promise<any>;
|
| /**
| * 下载并上传
| * @param url
| * @param fileName 文件名
| */
| downAndUpload(url: string, fileName?: string): Promise<string>;
|
| /**
| * 指定Key(路径)上传,本地文件上传到存储服务
| * @param filePath 文件路径
| * @param key 路径一致会覆盖源文件
| */
| uploadWithKey(filePath, key): Promise<string>;
|
| /**
| * 上传文件
| * @param ctx
| * @param key 文件路径
| */
| upload(ctx): Promise<string>;
| }
|
|