2.8 KiB
2.8 KiB
后端接口 TODO 清单 - 图片/视频上传模块
1. 上传作品图片
文件: PublishWorkActivity.java
接口路径: POST /api/upload/work/image
请求方法: POST
请求类型: multipart/form-data
请求参数:
- file: File (必填) - 图片文件
- userId: String (可选,从token中获取) 返回数据:
{
"code": 200,
"data": {
"url": "string",
"fileId": "string"
}
}
2. 上传作品视频
文件: PublishWorkActivity.java
接口路径: POST /api/upload/work/video
请求方法: POST
请求类型: multipart/form-data
请求参数:
- file: File (必填) - 视频文件
- userId: String (可选,从token中获取) 返回数据:
{
"code": 200,
"data": {
"url": "string",
"fileId": "string",
"duration": "number",
"thumbnailUrl": "string"
}
}
3. 上传头像
文件: EditProfileActivity.java
接口路径: POST /api/upload/avatar
请求方法: POST
请求类型: multipart/form-data
请求参数:
- file: File (必填) - 头像图片文件
- userId: String (可选,从token中获取) 返回数据:
{
"code": 200,
"data": {
"url": "string",
"fileId": "string"
}
}
4. 上传聊天图片
文件: MessageSendHelper.java, ConversationActivity.java
接口路径: POST /api/upload/chat/image
请求方法: POST
请求类型: multipart/form-data
请求参数:
- file: File (必填) - 图片文件
- conversationId: String (必填) - 会话ID 返回数据:
{
"code": 200,
"data": {
"url": "string",
"fileId": "string",
"thumbnailUrl": "string"
}
}
5. 上传语音消息
文件: MessageSendHelper.java, ConversationActivity.java
接口路径: POST /api/upload/chat/voice
请求方法: POST
请求类型: multipart/form-data
请求参数:
- file: File (必填) - 语音文件
- conversationId: String (必填) - 会话ID
- duration: Number (必填) - 语音时长(秒) 返回数据:
{
"code": 200,
"data": {
"url": "string",
"fileId": "string",
"duration": "number"
}
}
通用说明
文件大小限制
- 头像图片: 最大 5MB
- 作品图片: 最大 10MB
- 作品视频: 最大 500MB
- 聊天图片: 最大 10MB
- 语音消息: 最大 10MB
支持的文件格式
- 图片: JPG, PNG, GIF, WEBP
- 视频: MP4, MOV, AVI
- 语音: MP3, AAC, M4A
上传流程建议
- 前端压缩图片(可选,节省流量)
- 显示上传进度
- 上传成功后获取URL
- 将URL保存到对应的数据对象中
- 调用相应的创建/更新接口
错误处理
- 文件过大: 返回 413 错误
- 文件格式不支持: 返回 415 错误
- 上传失败: 返回 500 错误,允许重试