2024-02-19 17:15:03 +08:00

68 lines
1.0 KiB
TypeScript

// 模式
export enum MODETYPE {
// 本地
LOCAL = "local",
// 云存储
CLOUD = "cloud",
// 其他
OTHER = "other",
}
export enum CLOUDTYPE {
// 阿里云存储
OSS = "oss",
// 腾讯云存储
COS = "cos",
// 七牛云存储
QINIU = "qiniu",
/** AWS S3 */
AWS = "aws",
}
/**
* 上传模式
*/
export interface Mode {
// 模式
mode: MODETYPE;
// 类型
type: string;
}
/**
* 文件上传
*/
export interface BaseUpload {
/**
* 获得上传模式
*/
getMode(): Promise<Mode>;
/**
* 获得原始操作对象
* @returns
*/
getMetaFileObj();
/**
* 下载并上传
* @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<any>;
}