# TASK008 - 文件上传模块 ## 任务信息 - **任务编号**: TASK008 - **任务名称**: 文件上传模块 - **版本**: V1.0 - **状态**: 跳过该模块,暂时进行不开发 ## 任务描述 实现文件上传功能,支持txt、pdf、md等格式文件的上传、存储和管理,为AI文档分析功能提供基础支持。 ## 验收标准清单 - [ ] 实现文件上传接口(/api/files/upload) - [ ] 支持多种文件格式验证(txt、pdf、md、docx等) - [ ] 实现文件大小限制和安全检查 - [ ] 创建文件存储和管理功能 - [ ] 实现文件元数据记录 - [ ] 添加文件访问权限控制 - [ ] 创建FileService、FileController和相关DTO - [ ] 实现文件内容解析预处理 - [ ] 添加文件删除和清理功能 - [ ] 实现文件上传进度反馈 ## 注意事项 1. 文件大小限制在10MB以内,防止服务器资源耗尽 2. 支持的文件类型:.txt、.pdf、.md、.docx、.doc、.xlsx、.xls 3. 文件名需要重命名,使用UUID+原扩展名避免冲突 4. 上传的文件需要进行病毒扫描和安全检查 5. 文件存储路径需要按日期分层组织(如/files/2024/01/01/) 6. 记录文件的原始名称、存储路径、大小、类型等元数据 7. 用户只能访问自己上传的文件 8. 文件上传需要关联到具体的会话 9. 实现文件的软删除,定期清理无效文件 10. 添加文件上传失败的重试机制 11. 支持断点续传功能(可选) 12. 文件存储考虑使用OSS或本地文件系统 13. 需要生成文件的访问URL 14. 添加文件下载接口用于预览 15. 实现文件内容的文本提取功能 16. 设置用户文件数量和总大小限制 ## 相关文件 - src/main/java/com/lxy/hsend/controller/FileController.java - src/main/java/com/lxy/hsend/service/FileService.java - src/main/java/com/lxy/hsend/dto/file/ - src/main/java/com/lxy/hsend/repository/FileRepository.java - src/main/java/com/lxy/hsend/util/FileUtil.java