IoT File Service - Multi Part操作
分块上传
分块上传步骤如下:
启动文件上传
通过向上传请求提供 upload=start
查询参数来启动分块上传。在下面的示例请求中,为子目录 optionalDirectory
中的文件 exampleFile
启动分块上传:
/api/iotfile/v3/files//optionalDirectory/exampleFile?upload=start
上传文件分块
上传文件分块时,指定分块号为查询参数。下列规则适用于文件分块:
- 可接受的分块号范围是 1 到 1,000,支持异步上传。
- 所有分块上传后,其分块号必须是按顺序排列的。
- 每个分块的大小必须至少为 5 MB。
- 未完成的文件上传中的分块将在 2 天后自动删除。
- 如果相同的分块号使用了两次,则现有分块会被覆盖。
/api/iotfile/v3/files//optionalDirectory/exampleFile?part=1
完成上传
提供请求参数 upload=complete
以完成分块上传。下面的示例将完成子目录 optionalDirectory
中文件 exampleFile
的分块上传。分块上传完成请求接受小于允许的分块大小最小限值的文件分块,并将其视为最后一个分块。
/api/iotfile/v3/files//optionalDirectory/exampleFile?upload=complete
中止分块上传
使用 upload=abort
参数中止分块上传。将以物理方式删除选定的分块上传的所有信息。
/api/iotfile/v3/files//optionalDirectory/exampleFile?upload=abort
分块更新
在分块上传的每个请求中指定 If-Match
消息头参数,以通过分块上传更新现有文件。
列出当前分块上传
使用指向 filelist
端点的 GET 请求列出指定文件的当前文件分块。
文件分块列表中的每个条目包含:
objectKey
:由 {tenant storage prefix}/{entityId}/{filepath} 组成的文件密钥partNo
:指定的分块号created
:分块完成上传的 UTC 时间(毫秒)
示例请求:
/api/iotfile/v3/fileslist//optionalDirectory/exampleFile
示例响应:
[
{
"objectKey": "iotteni/00189ab4c65243bb9d77f17332dd570a/optionalDirectory/exampleFile",
"partNo":1,
"created":1540509915000
},
{
"objectKey": "iotteni/00189ab4c65243bb9d77f17332dd570a/optionalDirectory/exampleFile",
"partNo":2,
"created":1540509931000
}
]
分块下载
请示示例:
gatewayUrl/api/iotfile/v3/files/entityId/optionalDirectory/exampleFile
range
值, 例如 bytes=200-400
。 响应示例:
206 Partial content of the file
使用 Range
参数下载现有文件的一部分,并指定要下载的字节范围,例如:bytes=1-100
。
还有问题?
除非另行声明,该网站内容遵循MindSphere开发许可协议.
Last update: June 30, 2020