feat: 实现文件上传功能并完善测试覆盖
- 新增 upload.rs 模块,支持 multipart/form-data 文件上传 - 文件按日期存储在 storage/YYYY-MM-DD/ 目录下 - 使用 UUID 生成唯一文件名,保留原始扩展名 - 添加 axum-extra, uuid, chrono 依赖 新增测试用例: - config_test.rs: 6 个测试 (配置结构验证) - router_test.rs: 11 个测试 (路由匹配逻辑) - handler_test.rs: 8 个测试 (请求处理) - upload_test.rs: 13 个测试 (文件上传功能) 其他改进: - 优化 handler.rs 代码注释 - 更新 .gitignore 忽略 storage/ 和 .claude/ - 添加 CLAUDE.md 项目指南文档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ edition = "2024"
|
||||
[dependencies]
|
||||
# 核心 Web 框架
|
||||
axum = "0.8.8"
|
||||
axum-extra = { version = "0.10", features = ["multipart"] }
|
||||
# 异步运行时
|
||||
tokio={version = "1.48.0",features = ["full"]}
|
||||
# 异步文件操作与流处理工具
|
||||
@@ -20,6 +21,12 @@ serde_json = "1.0.147"
|
||||
# 物理目录递归扫描工具
|
||||
walkdir = "2.5.0"
|
||||
|
||||
# UUID 生成(用于唯一文件名)
|
||||
uuid = { version = "1.0", features = ["v4", "serde"] }
|
||||
|
||||
# 日期时间处理
|
||||
chrono = "0.4"
|
||||
|
||||
tracing="0.1.44"
|
||||
tracing-subscriber = "0.3.22"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user