分块上传 (Multipart Upload)
Qiniu S3 API 服务支持分块上传模式,客户端可以根据文件大小选择是否使用该模式。建议当上传对象 (Object) 大小超过 100M 时,客户端选择使用分块上传。
Qiniu S3 API 分块上传流程
客户端使用 初始化 (Initiate Multipart Upload) 接口获取分块上传 ID,即 uploadId
客户端使用 上传块 (Upload Part) 接口上传块,并保存 partNumber 与服务器端响应头 ETag 信息
客户端将 partNumber 与 ETag 按照指定的 XML 格式拼接成请求数据,使用 完成上传 (Complete Multipart Upload) 接口完成上传
Qiniu S3 API 分块上传约束
注意: 上传过程中分块支持不同体积,即每块的体积无需相同 (但必须为 N * 4M)。如对某 21M 大小的文件,客户端可以选择切分成 4M, 8M, 4M 和 5M 四块,或者切分为 4M, 12M 和 5M 三块
除最后一个分块外,分块的最小体积为 4M (bytes)
分块体积可以大于 4M (bytes),但每块体积必须为 N * 4M,其中 N 为非负的整数
最后一个分块理论上不限大小,即可以小于 4M,也可以大于 4M