UNPKG

parallel-file-uploader

Version:

高性能并行文件上传工具,支持大文件分片上传、断点续传、Web Worker多线程处理

102 lines 2.36 kB
import { FileInfo, UploadStepEnum } from '../type'; /** * 文件管理器 * 负责文件队列管理、文件验证、状态管理等 */ export declare class FileManager { private fileQueue; private activeFiles; private maxFileSize?; private allowedFileTypes?; constructor(options?: { maxFileSize?: number; allowedFileTypes?: string[]; }); /** * 🔧 处理和验证允许的文件类型配置 */ private processAllowedFileTypes; /** * 添加文件到队列 */ 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; /** * 🔧 获取支持的文件类型描述 */ private getSupportedTypesDescription; /** * 🔧 获取当前配置信息(用于调试) */ getConfiguration(): { maxFileSize?: string; allowedFileTypes?: string[]; supportedTypesDescription: string; }; } //# sourceMappingURL=FileManager.d.ts.map