65 lines
1.2 KiB
TypeScript
65 lines
1.2 KiB
TypeScript
|
|
|
|||
|
|
|
|||
|
|
export interface UploadOptions {
|
|||
|
|
/**文件 */
|
|||
|
|
file: File
|
|||
|
|
/**成功回调 */
|
|||
|
|
onSuccess?: (result: any) => void;
|
|||
|
|
/**失败回调 */
|
|||
|
|
onError?: (error: any) => void;
|
|||
|
|
/**上传配置 */
|
|||
|
|
options?: UploadConfig;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface File {
|
|||
|
|
/**文件路径 */
|
|||
|
|
path: string;
|
|||
|
|
/**文件大小 */
|
|||
|
|
size: number;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface UploadConfig {
|
|||
|
|
/**分片大小,单位字节 */
|
|||
|
|
chunkSize?: number;
|
|||
|
|
/**并发上传限制 */
|
|||
|
|
concurrentLimit?: number;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface UploadData {
|
|||
|
|
/**上传编号 */
|
|||
|
|
uploadId: string;
|
|||
|
|
/**文件在云端保存路径 */
|
|||
|
|
saveFilePath: string;
|
|||
|
|
/**上传文件的大小 */
|
|||
|
|
fileSize: number;
|
|||
|
|
/**分片数量 */
|
|||
|
|
chunkCount: number;
|
|||
|
|
/**上传文件的路径 */
|
|||
|
|
filePath: string;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface PartETag {
|
|||
|
|
partNumber: number;
|
|||
|
|
ETag: string;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
export interface ChunkTask {
|
|||
|
|
index: number;
|
|||
|
|
start: number;
|
|||
|
|
end: number;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 上传进度信息接口
|
|||
|
|
*/
|
|||
|
|
export interface ProgressInfo {
|
|||
|
|
/** 已完成的分片数量 */
|
|||
|
|
completedChunks: number;
|
|||
|
|
/** 当前显示的上传进度(整数,如 0, 10, 20...) */
|
|||
|
|
uploadProgress: number;
|
|||
|
|
/** 总分片数量 */
|
|||
|
|
chunkCount: number;
|
|||
|
|
}
|
|||
|
|
|