Appearance
上传器接口
该文档描述了直传云端的通用资源上传机制相关接口。
智萃:获取 uploaderToken(直传前置)
| 用途 | 方法 | 路径 |
|---|---|---|
| 智萃视频 | POST | /api/admin/course/essence/upload_token |
| 智萃字幕 | POST | /api/admin/course/essence/subtitle_upload_token |
响应体字段见各接口说明;取得 uploaderToken 后调用下文 init / finish。
1. 初始化上传接口
接口地址: /api/admin/uploader/init
请求方式: POST
请求参数:
| 字段名 | 类型 | 描述 |
|---|---|---|
| uploaderToken | string | 上传令牌(JWT格式) |
| filename | string | 文件名称 |
| fileSize | number | 文件大小(字节) |
| directives | object | 可选的转码指令(会被后端按类型覆盖/补全) |
directives 说明(可选):
| 字段名 | 类型 | 描述 |
|---|---|---|
| output | string | 输出类型:video/audio/ppt/document/vko/srt |
| videoQuality | string | 视频清晰度:high/normal/low |
| audioQuality | string | 音频清晰度:high/normal/low |
| supportMobile | string | 是否支持移动端:0/1 |
| transcode | boolean | 是否转码 |
| imgEncrypt | boolean | 文档/图片是否启用加密 |
| docQuality | string | 文档清晰度:high/normal/low |
| convertAll | boolean | 是否全量转换(PPT) |
| type | string | 文档输出类型:html |
说明:后端会根据文件类型强制覆盖
output、thumbnail、watermarks等字段,部分字段会被忽略或替换为系统默认值。
请求示例:
json
{
"uploaderToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"filename": "test-video.mp4",
"fileSize": 10485760,
"directives": {
"videoQuality": "high",
"audioQuality": "high"
}
}响应结果: InitUploadDTO
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | number | 草稿文件主键 (用于后续完成上传,与 globalId 二选一) |
| globalId | string | 云资源编号 (用于后续完成上传,与 id 二选一) |
| uploadUrl | string | 上传目标URL |
| uploadToken | string | 云端上传Token |
| reskey | string | 资源Key |
2. 完成上传接口
接口地址: /api/admin/uploader/finish
请求方式: POST
请求参数:
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | number | 草稿文件主键 (与 globalId 二选一) |
| globalId | string | 云资源编号 (与 id 二选一) |
说明:
id与globalId二选一即可查询到待完成的文件。
请求示例:
json
{
"id": 123
}或
json
{
"globalId": "1a2b3c4d5e6f"
}响应结果: FinishUploadDTO
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | number | 文件主键 |
| globalId | string | 云资源编号 |
| status | string | 状态 |
| hashId | string | 资源标识 |
| targetId | number | 归属ID |
| targetType | string | 归属类型 |
| filename | string | 文件名 |
| ext | string | 扩展名 |
| fileSize | number | 文件大小 |
| length | number | 时长(秒) |
| type | string | 文件类型 |
| storage | string | 存储类型 |
| convertStatus | string | 转码状态 |
常见问题
云网校请求失败:当 storage.upload_mode 为 cloud 时,init 会请求云存储服务。若网络不可达或凭证无效会报错。开发环境可将 storage.upload_mode 设为 local 使用本地存储。