You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.2 KiB
1.2 KiB
相对路径文件上传存储设计
目标
上传文件不再依赖写死的磁盘盘符。应用以运行时工作目录为基准,在后端 JAR 同级自动创建 file 目录,并按上传日期存放文件。
配置与落盘
file.path配置为相对值file。- 文件工具将相对配置解析为
System.getProperty("user.dir")/file;部署脚本已将 JAR 所在目录作为工作目录。 - 文件根目录在文件工具初始化时创建;上传时按需创建
年/月/日子目录。 - 新文件的物理路径形如
file/2026/8/3/<uuid>.<suffix>。
路径约定
- 新写入数据库的路径统一为
file/年/月/日/文件名,不保存绝对路径。 - 对外静态访问地址仍为
/file/年/月/日/文件名,不得出现/file/file/。 - 读取、下载和删除同时兼容历史的
/年/月/日/文件名记录,避免旧附件失效。
错误处理与验证
- 根目录或日期目录创建失败时,上传返回明确的 I/O 错误,不写入数据库。
- 为相对目录解析、自动创建、路径前缀与历史路径兼容添加单元测试。
- 构建并运行现有后端测试;上线后用真实文件确认磁盘目录、数据库路径和
/file/**访问路径。