文件上传
# 流程示意图
# 获取上传格式
获取支持上传的文件格式,用来自定义类型,主动筛选过滤不支持的文件格式,减少上传报错
POST/GET
/upload/support
# 入参
无
# 出参
{
"code": "0000",
"message": "OK",
"timestamp": 1656520023244,
"data": [
"zip",
"rvt",
"dgn",
"nwd",
"skp",
"fbx"
]
}
# 上传握手
上传前置请求,主要用来获取上传文件的UUID标识。同时做上传文件前置校验,包含但不限于文件类型、文件大小等
POST
/file/upload
# 入参
注意
- 参数为
form
形式,请求头Content-Type: application/x-www-form-urlencoded
- 计算Hash值的算法必须使用
SHA1
// 文件名称: 必须
fileName: String
// 文件大小: 必须
fileSize: Number
// 文件Hash: 必须,可以加快上传时间
fileHash: String
# 出参
{
"code": "0000",
"message": "OK",
"timestamp": 1656520023244,
"data": {
// 文件标识UUID
"uuid": "04391516-99de-4c0b-9b6e-fa7267d382bf",
// 上传状态 true: 可以上传 false: 不需要重新上传
"canUpload": false,
// 文件状态 1上传中 2上传失败 3上传完成 4转码中 5转码失败 6转码成功
"fileStatus": 6,
// 下载状态 true: 可以下载 false: 不可以下载
"canDownload": true
}
}
参数提示
上传状态为 false
表示转换机已经存在该文件,可以跳过上传
下载状态为 true
表示该文件已经转换成功,可以直接下载使用
上传状态和下载状态都为 false
表示文件在状态中或者转换失败,需要根据文件状态做进一步处理
# 上传文件
上传文件到转换机器,进行转换。上传时候必须传输文件标识UUID字段。
PUT
/file/upload
# 入参
注意
参数为 form
形式,请求头 Content-Type: application/x-www-form-urlencoded
# 直接上传
// 上传文件标识UUID: 必须
uuid: String
// 文件内容: 必须
file: Stream
# 分片上传
// 上传文件标识UUID: 必须
uuid: String
// 分片文件内容: 必须
file: Stream
// 分片编号, 从序号 1 开始: 必须
partNumber: Number
// 分片大小, 当前分片的大小: 必须
partSize: Number
// 切片大小, 单位 MB:必须
chunkSize: Number
# 出参
{
"code": "0000",
"message": "OK",
"timestamp": 1657700451668,
"data": {}
}
上次更新: 2023/10/10, 11:31:29