parallel-file-uploader
Version:
高性能并行文件上传工具,支持大文件分片上传、断点续传、Web Worker多线程处理
86 lines • 1.91 kB
TypeScript
import { FileInfo, UploadStepEnum } from '../type';
/**
* 文件管理器
* 负责文件队列管理、文件验证、状态管理等
*/
export declare class FileManager {
private fileQueue;
private activeFiles;
private maxFileSize?;
private allowedFileTypes?;
constructor(options?: {
maxFileSize?: number;
allowedFileTypes?: string[];
});
/**
* 添加文件到队列
*/
addFiles(files: File[] | FileList): FileInfo[];
/**
* 验证文件
*/
private validateFile;
/**
* 从队列中获取下一个文件
*/
getNextFile(): FileInfo | undefined;
/**
* 添加文件到活动列表
*/
addToActive(fileInfo: FileInfo): void;
/**
* 从活动列表中移除文件
*/
removeFromActive(fileId: string): void;
/**
* 获取活动文件
*/
getActiveFile(fileId: string): FileInfo | undefined;
/**
* 获取所有活动文件
*/
getAllActiveFiles(): FileInfo[];
/**
* 更新文件状态
*/
updateFileStatus(fileId: string, status: UploadStepEnum): void;
/**
* 更新文件进度
*/
updateFileProgress(fileId: string, uploadedSize: number): void;
/**
* 获取队列长度
*/
getQueueLength(): number;
/**
* 获取活动文件数量
*/
getActiveCount(): number;
/**
* 清空队列
*/
clearQueue(): void;
/**
* 清空活动文件
*/
clearActive(): void;
/**
* 获取统计信息
*/
getStats(): {
queued: number;
active: number;
completed: number;
failed: number;
paused: number;
};
/**
* 获取文件扩展名
*/
private getFileExtension;
/**
* 检查文件类型是否允许
*/
private isFileTypeAllowed;
}
//# sourceMappingURL=FileManager.d.ts.map