上传段
功能说明
初始化分段上传任务后,通过分段上传任务的ID,上传段到指定桶中。除了最后一段以外,其他段的大小范围是100KB~5GB;最后段大小范围是0~5GB。上传的段号也有范围限制,其范围是1~10000。
方法定义
ObsClient.uploadPart
请求参数
字段名 |
类型 |
约束 |
说明 |
---|---|---|---|
Bucket |
String |
必选 |
桶名。 |
Key |
String |
必选 |
对象名。 |
RequestDate |
String 或 Date |
可选 |
指定请求时间。
说明:
当为String类型时,必须符合ISO8601或RFC822规范。 |
PartNumber |
Number |
必选 |
段号,取值范围:1~10000。 |
UploadId |
String |
必选 |
分段上传任务的ID。 |
ContentMD5 |
String |
可选 |
待上传对象数据的MD5值(经过Base64编码),提供给OBS服务端,校验数据完整性。 |
Body |
String |
可选 |
待上传对象的内容。 |
SourceFile |
File 或 Blob |
可选 |
待上传段的源文件(浏览器必须支持FileReader)。 |
ProgressCallback |
Function |
可选 |
获取上传进度的回调函数。
说明:
该回调函数依次包含三个参数:已上传的字节数、总字节数、已使用的时间(单位:秒)。 |
Offset |
Number |
可选 |
当设置了SourceFile时有效,代表源文件中某一分段的起始偏移大小,默认值为0, 单位为字节。 |
PartSize |
Number |
可选 |
当设置了SourceFile时有效,代表源文件中某一分段的大小,默认值为文件大小减去Offset的剩下字节数,单位为字节。除最后一段的大小范围是0~5GB外,其他段的大小范围是100KB~5GB。 |
SseC |
String |
可选 |
以SSE-C方式加密段,支持的值: AES256 |
SseCKey |
String |
可选 |
SSE-C方式下加密的密钥,由AES256算法得到。 |
- Body与SourceFile不能同时使用。
- 当Body与SourceFile都为空时,上传对象的大小为0字节。
- Offset、PartSize和SourceFile配套使用,用于指定上传源文件中的某一分段数据。
返回结果(InterfaceResult)
字段名 |
类型 |
说明 |
---|---|---|
RequestId |
String |
OBS服务端返回的请求ID。 |
ETag |
String |
当前上传段的ETag值。 |
代码样例
obsClient.uploadPart({ Bucket:'bucketname', Key : 'objectkey', UploadId : 'uploadid', PartNumber : 1, Body : 'Hello OBS' },function (err, result) { if(err){ console.error('Error-->' + err); }else{ if(result.CommonMsg.Status < 300){ console.log('RequestId-->' + result.InterfaceResult.RequestId); console.log('ETag-->' + result.InterfaceResult.ETag); }else{ console.log('Code-->' + result.CommonMsg.Code); console.log('Message-->' + result.CommonMsg.Message); } } });