export interface IHttpUploaderOptions { url: string; } export interface IStatus { size: number; blockSize: number; blockCount: number; lastModified: number; name: string; ext: string; status: 'wait' | 'running' | 'completed'; curBlock: number; blockStartAt: number; speed: number; } /** * Http 文件上传库 * 支持文件分段读写和上传 * 支持分段断点和续传 * 支持 vue 自动对象获取状态 */ export default class HttpUploader { private _options; private _file; status: IStatus; /** * HttpUploader 类构造函数 * @param options * @param fileObject * @param completedBlocks */ constructor(options: IHttpUploaderOptions, fileObject: File); _blockSize(pos: number): number; _readBlock(blkPos: number): Promise; _uploadBlkToServer(blkPos: number, blk: ArrayBuffer): Promise; start(storePath: string, setLoadStatusCB?: any, setLoadFinishCB?: any): Promise; }