@mt-utils/aws-obs-server
Version:
亚马逊OBS文件上传下载
70 lines (69 loc) • 1.63 kB
TypeScript
import { IUploadFileSuccessFile } from './upload';
/**
* OBS全局配置
*/
interface IGlobalOptions {
/**
* OBS为每个区域提供了一个Endpoint,用于处理该区域的访问请求。
*/
readonly getToken: () => string;
/**
* 单文件上传和分片上传文件分隔线,默认为6MB
*/
fileSplitThreshold?: number;
}
/**
* 上传选项接口
*/
interface IUploadOptions {
/**
* 要上传的文件。
*/
sourceFile: File;
/**
* 要上传的文件目录。
* 默认当前日期 2023/07/01
*/
fileDir?: string;
/**
* 文件分片大小,单位为字节。
* 默认为5MB。
*/
partSize?: number;
/**
* 上传开始的回调函数
*/
onStart?(): void;
/**
* 上传进度回调
* @param event - 包含上传进度信息的对象
* @param event.percent - 上传进度百分比
*/
onProgress?(event: {
percent: number;
}): void;
/**
* 上传完成回调
* @param event - 包含上传结果信息的对象
* @param event.sourceFile - 文件对象
* @param event.fileDir - 文件上传目录
*/
onSuccess?(event: {
sourceFile: File;
fileInfo: IUploadFileSuccessFile;
}): void;
/**
* 上传失败回调
* @param error - 错误对象
*/
onError?(error: Error): void;
/**
* 取消上传回调
*/
onAbort?(): void;
/**
* 上传结束回调,无论成功或失败都会触发
*/
onFinally?(): void;
}
export type { IGlobalOptions, IUploadOptions };