API参考
优质
小牛编辑
135浏览
2023-12-01
接口目录
上传文件
POST /storage/api/upload
该接口为同步接口,上传完成后能马上得到文件 URL
表单参数
参数 | 描述 | 取值 |
---|---|---|
file | 文件 | file |
file_name | (可选)自定义文件名,需要带上扩展名。默认用上传文件的文件名 | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
id | 文件云存储 ID | string |
url | 文件云存储 URL | string |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"id": "a4b9dnoj",
"url": "http://example.mudu.tv/a4b9dnoj-example.txt"
}
下载URL上的文件到云存储
POST /storage/api/download_url
该接口为异步接口,调用后马上返回,需要通过查询文件状态来确认是否上传完成
JSON 参数
参数 | 描述 | 取值 |
---|---|---|
file_url | 文件来源 URL | string |
file_name | (可选)文件名,带扩展名。默认用文件来源 URL 路径的最后一部分 | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
id | 文件云存储 ID | string |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"id": "a4b9dnoj"
}
获取文件列表
GET /storage/api/list
URL 参数
参数 | 描述 | 取值 |
---|---|---|
page | 页数,默认 1 | int |
page_size | 每页个数,默认 15 | int |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
count | 文件总个数 | int |
files | 云存储文件列表 | object array |
files.id | 文件云储存 ID | string |
files.status | 文件状态(见下) | int |
files.source_type | 来源类型(url 或 file) | string |
files.public_url | 文件 URL | string |
files.file_name | 文件名 | string |
files.file_size | 文件大小(字节数) | int |
文件状态表:
值 | 意义 |
---|---|
0 | 初始状态 |
1 | 上传成功(这是最终状态) |
2 | 上传中 |
3 | 上传失败 |
4 | 已删除 |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"count": 234,
"files": [{
"id": "dok80b1y",
"status": 1,
"source_type": "url",
"public_url": "http://example.mudu.tv/a4b9dnoj-example.mp4",
"file_name": "example.mp4",
"file_size": 68520395
}]
}
获取文件信息
GET /storage/api/get
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 文件云储存 ID | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
file | 云存储文件 | object |
file.id | 文件云存储 ID | string |
file.status | 文件状态(见下) | int |
file.source_type | 来源类型(url 或 file) | string |
file.public_url | 文件 URL | string |
file.file_name | 文件名 | string |
file.file_size | 文件大小(字节数) | int |
文件状态表:
值 | 意义 |
---|---|
0 | 初始状态 |
1 | 上传成功(这是最终状态) |
2 | 上传中 |
3 | 上传失败 |
4 | 已删除 |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"file": {
"id": "dok80b1y",
"status": 1,
"source_type": "url",
"public_url": "http://example.mudu.tv/a4b9dnoj-example.mp4",
"file_name": "example.mp4",
"file_size": 68520395
}
}
删除文件信息
POST /storage/api/delete
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 文件云储存 ID | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
返回示例:
{
"errcode": 1000,
"msg": "OK"
}
初始化分片任务
POST /storage/api/init_upload_part
注意:获取到的 upload_id 用于后面 /upload_part
, /complete_upload_part
和 /abort_upload_part
的 id
字段
JSON 参数
参数 | 描述 | 取值 |
---|---|---|
file_name | (必填)待上传的文件名,带扩展名 | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
upload_id | 分片上传任务 ID | string |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"upload_id": "mok80b1y"
}
上传分片文件
POST /storage/api/upload_part
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 分片上传任务 ID | string |
表单参数:
参数 | 描述 | 取值 |
---|---|---|
file | 文件 | file |
part_number | 分片号,从 1 开始 | int |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
返回示例:
{
"errcode": 1000,
"msg": "OK"
}
完成分片上传
POST /storage/api/complete_upload_part
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 分片上传任务 ID | string |
JSON 参数:
参数 | 描述 | 取值 |
---|---|---|
parts_count | 总分片数,用于检查文件完整性 | int |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
id | 文件云储存 ID | string |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"id": "dvoneo63"
}
取消分片上传
POST /storage/api/abort_upload_part
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 分片上传任务 ID | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
返回示例:
{
"errcode": 1000,
"msg": "OK"
}
获取分片上传任务
GET /storage/api/get_upload_part_task
URL 参数
参数 | 描述 | 取值 |
---|---|---|
id | 分片上传任务 ID | string |
返回字段
参数 | 描述 | 取值 |
---|---|---|
errcode | 错误码,1000 为正常 | int |
msg | "OK" 或错误信息 | string |
task | 分片上传任务 | object |
task.upload_id | 分片上传任务 ID | string |
task.status | 分片任务上传状态(定义见下表) | int |
task.uploaded_parts | 已上传的分片号(从 1 开始) | int array |
task.file_name | 文件名 | string |
分片任务状态表:
值 | 意义 |
---|---|
0 | 初始状态,上传中 |
1 | 上传成功(这是最终状态) |
2 | 已取消 |
返回示例:
{
"errcode": 1000,
"msg": "OK",
"task": {
"upload_id": "mok80b1y",
"status": 0,
"uploaded_parts": [1, 2, 4, 5, 7],
"file_name": "example.mp4"
}
}
错误码
错误代码 | 使用模块 | 错误描述 |
---|---|---|
2301 | 存储 | 参数不合法 |
2302 | 存储 | 上传失败:分片缺失 |
2303 | 存储 | 无法从提供的 URL 获取文件 |
2304 | 存储 | 不是有效的 m3u8 文件 |
2305 | 存储 | UploadID 无效 |
2306 | 存储 | 找不到该 user ID 对应的 token,请登录后重试 |
2311 | 存储 | 内部错误:创建临时文件失败 |
2312 | 存储 | 内部错误:修改临时文件失败 |
2313 | 存储 | 内部错误:删除临时文件失败 |
2314 | 存储 | 内部错误:无法将文件上传至云存储 |
2315 | 存储 | 内部错误:无法获取云存储上的对象地址 |
2316 | 存储 | 内部错误:无法将文件上传至云存储 |
2317 | 存储 | 内部错误:解析 HTTP 返回失败 |
2321 | 存储 | 插入文件数据失败 |
2322 | 存储 | 查询单个文件数据失败 |
2323 | 存储 | 修改文件数据失败 |
2324 | 存储 | 删除文件数据失败 |
2325 | 存储 | 查询文件数据列表失败 |
2331 | 存储 | 插入文件片段任务数据失败 |
2332 | 存储 | 查询单个文件片段任务数据失败 |
2333 | 存储 | 修改文件片段任务数据失败 |
2334 | 存储 | 删除文件片段任务数据失败 |
2341 | 存储 | 保存文件片段数据失败 |