parallel-file-uploader
Version:
高性能并行文件上传工具,支持大文件分片上传、断点续传、Web Worker多线程处理
102 lines • 2.36 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[];
});
/**
* 🔧 处理和验证允许的文件类型配置
*/
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