分片上传接口 请求参数 ListPartsRequest 可设置的参数如下: 参数 类型 说明 是否必要 Bucket string 执行本操作的桶名称 是 Key string 对象的key 是 UploadId string 需要查询分片信息的uploadid 是 返回结果 参数 类型 说明 Bucket string 执行本操作的桶名称 Key string 本次分片上传对象的名称 Parts Part array 包含了已上传分片信息的数组,数组中的每一项包含了该分片的Entity tag、最后修改时间、PartNumber和大小等信息 UploadId string 需要查询的分片上传操作Id 复制分片 功能说明 复制分片操作可以从一个已存在的对象中复制指定分片的数据。您可以使用 uploadPartCopy 复制分片。在复制分片前,需要使用 createMultipartUpload 接口获取一个upload id,在完成复制和上传分片操作之后,需要使用 completeMultipartUpload 操作组装分片成为一个对象。当复制的对象大小超过5GB,必须使用复制分片操作完成对象的复制。除了最后一个分片外,每个复制分片的大小范围是[5MB,5GB]。 代码示例 php // copyPart $desBucket ' '; //目标桶 $desKeyName ' '; //目标对象名 $srcBucket ' '; //从此桶复制 $srcKeyName ' '; //复制的对象名 $result $this>s3Client>uploadPartCopy([ 'Bucket' > $desBucket, 'Key' > $desKeyName, 'CopySource' > '/' . $srcBucket . '/' . $srcKeyName, 'UploadId' > $uploadId, //uploadId从createMultipartUpload返回值获取 'PartNumber' > $partNumber, //设置分片号 'CopySourceRange' > 'bytes' . $firstByte . '' . $lastByte, //复制文件分片的数据范围 ]); echo $result; $parts['Parts'][$partNumber] [ // 记录ETag 'PartNumber' > $partNumber, 'ETag' > $result['CopyPartResult']['ETag'], ]; echo "Uploading part {$partNumber}" . "n";
来自: