47 lines
1.9 KiB
Markdown
47 lines
1.9 KiB
Markdown
# 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 |