1. 上传断点续传文件数据
上传断点续传文件数据。
请求方式:POST
请求地址:/api/{databaseKey}/files/resumable/data
1.1. 请求参数
Headers:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
Authorization | string | c4570cb9ca324bc8ba7dd9d1967710ea | 是 | 操作的通关令牌 |
PathParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
databaseKey | string | test | 是 | 数据库key,必传 |
SearchParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
无参数 | NULL | NULL | NULL | NULL |
1.2. body
application/json:
{
"fileKey": "XXX", //文件key,必须
"file": "XXX", //模型文件分块数据,必须
"position": "XXX" //上传文件的数据偏移量,可选
}
1.3. 参数说明
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
fileKey | string | NULL | 是 | 文件key |
file | string | NULL | 是 | 模型文件分块数据 |
position | string | NULL | 否 | 上传文件的数据偏移量 |
1.4. 正确返回
{
"message": "请求处理成功",
"code": "SUCCESS",
"data": {
"position": 3696672,
"percent": "100%",
"key": "Z3JvdXAxL……"
}
}
1.5. 状态码
状态码 | code | message | data | 原因 |
---|---|---|---|---|
400 | BAD_PARAMETER | 参数(position)指定的位置不能大于文件大小 | NULL | 当position值大于文件大小时 |
400 | BAD_PARAMETER | 参数(position)指定的位置不能大于已上传数据大小 | NULL | 当position值大于已上传的文件大小时 |
400 | BAD_PARAMETER | 累计上传的数据不能超过文件大小 | NULL | 当拟上传文件大小与已上传文件大小的总和超过整个模型文件的大小时 |
1.6. 备注
断点续传总体流程:
1、先调用创建断点续传文件接口,返回fileKey信息。
2、调用本接口,依次上传分割好的文件块,直到传完为止。
3、如果上传过程中断,则可调用获取文件信息接口,查到position信息。然后根据position信息选择相应的文件块,继续上传,直到传完为止。
1.7. 注意事项
1、参数file为模型文件的数据块。模型文件必须分块,每个数据块的大小可根据网络传输速度确定。传时必须按照分块顺序依次上传。
2、参数position可选。如果设置position,则把当前文件追加到position指定的位置;如果不设置position,则从系统内记录的position位置追加文件数据。设置position时,值必须介于0和已上传数据大小之间,且与本次上传数据大小的和应不超过模型文件大小。
3、对于zip格式的文件,文件上传后会校验模型格式。模型格式必须是系统支持的IFC、REVIT、IMODEL、OBJ、FBX、DAE、DWG等。如果系统无法确定模型格式,则会清除已经上传的所有数据,position设置为0,意味着所有的文件块都必须重新上传。