在项目根目录创建 .env
文件,添加以下配置:
# 服务器配置
SERVER_URL=http://localhost:3000
FILE_PATH=./uploads
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=123456
DB_DATABASE=books
PORT=3000
POST /file/upload
请求示例:
curl -X POST http://localhost:3000/file/upload \
-F "file=@/path/to/your/file.jpg"
响应示例:
{
"success": true,
"message": "文件上传成功",
"fileId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "http://localhost:3000/file/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
GET /file/download/:fileId
请求示例:
curl -X GET http://localhost:3000/file/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890
功能:
文件表包含以下字段:
id
: 主键file_id
: 文件唯一标识(UUID)file_name
: 文件名称file_type
: 文件类型file_hash
: 文件hash(SHA256)file_size
: 文件大小mime_type
: MIME类型storage_path
: 存储路径(相对路径)upload_source
: 上传来源original_name
: 原始文件名upload_date
: 上传日期updated_at
: 更新时间启动应用:
pnpm run start:dev
上传文件:
curl -X POST http://localhost:3000/file/upload \
-F "file=@test.jpg"
使用返回的fileId访问文件:
curl -X GET http://localhost:3000/file/download/[返回的fileId]
在浏览器中访问:
http://localhost:3000/file/download/[fileId]
SERVER_URL
: 服务器地址,用于生成文件访问URL(默认:http://localhost:3000)FILE_PATH
: 文件存储路径(默认:./uploads)PORT
: 服务器端口(默认:3000)