完成分片上传

此 POST 操作用于将所有数据Part都上传完成后完成整个文件的分片上传。

请求

  • 请求语法

    • 内容

        POST /ObjectName?uploadId=UploadId HTTP/1.1
        Host: {BucketName}.{Endpoint}
        Date: {date}
        Authorization: {SignatureValue}    
      
        <CompleteMultipartUpload>
            <Part>
                <PartNumber>PartNumber</PartNumber>
                <ETag>ETag</ETag>
            </Part>
            ...
        </CompleteMultipartUpload>
      
    • 描述

        Endpoint:参考与region地域的关系
        SignatureValue:参考签名算法
      
  • 请求参数

  • 非公共请求头

  • 请求体

名称 类型 是否必须 描述
CompleteMultipartUpload 容器 保存CompleteMultipartUpload请求内容的容器。
子节点:一个或多个Part元素。
父节点:无
ETag 字符串 Part成功上传后,OSS返回的ETag值。
父节点:Part
Part 容器 保存已上传Part信息的容器。
子节点:ETag、PartNumber。
父节点:CompleteMultipartUpload
PartNumber 整数 Part数目。
父节点:Part

响应

  • 非公共响应头

  • 响应体

名称 类型 描述
Bucket 字符串 Bucket名称。
父节点:CompleteMultipartUploadResult
CompleteMultipartUploadResult 容器 保存Complete Multipart Upload请求结果的容器。
子节点:Bucket、Key、ETag、Location。
父节点:None
ETag 字符串 Object生成时会创建相应的ETag ,ETag用于标识一个Object的内容。
通过CompleteMultipartUpload请求创建的Object,ETag值是基于一定计算规则生成的唯一值,但不是其内容的MD5值。
父节点:CompleteMultipartUploadResult
Location 字符串 新创建Object的URL。
父节点:CompleteMultipartUploadResult
Key 字符串 新创建Object的名字。
父节点:CompleteMultipartUploadResult
EncodingType 字符串 显示返回结果中编码使用的类型。如果请求参数中指定了Encoding-type,那返回的结果会对Key进行编码。
父节点:容器

示例

  • 请求

      POST /multipart.data?uploadId=0004B9B2D2F7815C432C9057C031****&encoding-type=url HTTP/1.1
      Host: oss-example.oss-cn-beijing.inspurcloud.com
      Content-Length:6291456
      Date: Fri, 26 Dec 2014 06:34:32 GMT
      Authorization: authorization string    
    
      <CompleteMultipartUpload> 
          <Part> 
              <PartNumber>1</PartNumber>  
              <ETag>"3349DC700140D7F86A0784842780****"</ETag> 
          </Part>  
          <Part> 
                <PartNumber>5</PartNumber>  
                 <ETag>"8EFDA8BE206636A695359836FE0A****"</ETag> 
          </Part>  
          <Part> 
              <PartNumber>8</PartNumber>  
              <ETag>"8C315065167132444177411FDA14****"</ETag> 
          </Part> 
      </CompleteMultipartUpload>
    
  • 响应

      HTTP/1.1 200 OK
      x-oss-request-id: 996c76696e6727732072657175657374
      Date: Fri, 26 Dec 2014 06:48:46 GMT
      Content-Length: 0
      Connection: keep-alive
    
      <?xml version="1.0" encoding="UTF-8"?>
      <CompleteMultipartUploadResult xmlns=”http://doc.oss-cn-beijing.inspurcloud.com”>
          <EncodingType>url</EncodingType>
          <Location>http://oss-example.oss-cn-beijing.inspurcloud.com/multipart.data</Location>
          <Bucket>oss-example</Bucket>
          <Key>multipart.data</Key>
          <ETag>"B864DB6A936D376F9F8D3ED3BBE540****"</ETag>
      </CompleteMultipartUploadResult>
    

错误码

错误码 状态码 描述
InvalidDigest InvalidDigest 为了保证数据在网络传输过程中不出现错误,用户发送请求时可以携带Content-MD5,OSS计算上传数据的MD5与用户上传的MD5值不一致。