@mt-utils/huawei-obs
Version:
华为云OBS文件上传下载
70 lines (69 loc) • 1.81 kB
TypeScript
import { default as ObsClient } from 'esdk-obs-browserjs';
import { SliceUploadOptions } from '../types';
/**
* 分片上传类,负责处理文件的分片上传流程。
*/
declare class SliceUpload {
/**
* OBS客户端实例。
*/
private obsClient;
/**
* 分片上传选项,包含文件上下文选项和事件回调。
*/
private uploadOptions;
/**
* 上传ID,用于标识当前上传任务的唯一性。
*/
private uploadId;
/**
* 是否已经取消上传。
*/
private uploadStatus;
/**
* 构造函数,初始化OBS客户端实例和上传选项。
* @param obsClient OBS客户端实例
* @param uploadOptions 上传选项
*/
constructor(obsClient: ObsClient, uploadOptions: SliceUploadOptions);
/**
* 执行分片上传流程。
*/
exec(): Promise<void>;
/**
* 生成上传ID。
* @returns 返回上传ID的Promise对象
*/
private generateUploadId;
/**
* 生成分片信息。
* @param fileSize 文件大小
* @param partSize 分片大小
* @returns 返回分片信息数组
*/
private generateFileParts;
/**
* 上传各个分片。
* @param fileParts 分片信息数组
* @returns 返回上传结果的Promise对象数组
*/
private uploadFileParts;
/**
* 监听文件上传进度
*/
wathcUploadFileProgress(): void;
/**
*
* @param parts 上传结果数组
* @returns 返回合并结果的Promise对象
*/
private mergeFileParts;
/**
* 中断分片上传。
* @returns 返回中断上传结果的Promise对象
*/
abort(): Promise<unknown>;
private shouldAbort;
private shouldUploading;
}
export default SliceUpload;