/** * 文件路径处理工具类 * 统一管理文件上传路径、相对路径转换等操作 */ export declare class FilePathUtil { /** * 获取上传根目录 * 优先使用环境变量 FILE_UPLOAD_PATH,否则使用 process.cwd()/uploads * * @returns 上传根目录的绝对路径 */ static getUploadDir(): string; /** * 生成日期子目录格式 (YYYY/MM/DD) * * @returns 日期子目录路径 */ static getDateSubdirectory(): string; /** * 获取完整的上传目录(包含日期子目录) * * @returns 完整的上传目录路径 */ static getFullUploadPath(): string; /** * 将绝对路径转换为相对路径(相对于上传根目录) * 例如: /Users/.../uploads/2025/11/30/xxx.txt -> 2025/11/30/xxx.txt * * @param absolutePath 绝对路径 * @returns 相对路径 */ static toRelativePath(absolutePath: string): string; /** * 将相对路径转换为绝对路径(物理路径) * 例如: 2025/11/30/xxx.txt -> /Users/.../uploads/2025/11/30/xxx.txt * * @param relativePath 相对路径 * @returns 绝对路径 */ static toAbsolutePath(relativePath: string): string; /** * 规范化路径(统一使用正斜杠) * * @param filePath 文件路径 * @returns 规范化后的路径 */ static normalize(filePath: string): string; /** * 检查路径是否为绝对路径 * * @param filePath 文件路径 * @returns 是否为绝对路径 */ static isAbsolute(filePath: string): boolean; /** * 检查文件是否存在 * * @param filePath 文件路径(绝对或相对) * @returns 文件是否存在 */ static exists(filePath: string): boolean; /** * 获取文件的物理路径(用于文件系统访问) * * @param relativePath 相对路径 * @param storageProvider 存储提供商 * @returns 物理路径或相对路径(对象存储) */ static getPhysicalPath(relativePath: string, storageProvider?: string): string; }