OSS\OssClient::uploadPartCopy PHP Метод

uploadPartCopy() публичный Метод

从一个已存在的Object中拷贝数据来上传一个Part
public uploadPartCopy ( string $fromBucket, string $fromObject, string $toBucket, string $toObject, integer $partNumber, string $uploadId, array $options = NULL ) : null
$fromBucket string 源bucket名称
$fromObject string 源object名称
$toBucket string 目标bucket名称
$toObject string 目标object名称
$partNumber integer 分块上传的块id
$uploadId string 初始化multipart upload返回的uploadid
$options array Key-Value数组
Результат null
    public function uploadPartCopy($fromBucket, $fromObject, $toBucket, $toObject, $partNumber, $uploadId, $options = NULL)
    {
        $this->precheckCommon($fromBucket, $fromObject, $options);
        $this->precheckCommon($toBucket, $toObject, $options);
        //如果没有设置$options['isFullCopy'],则需要强制判断copy的起止位置
        $start_range = "0";
        if (isset($options['start'])) {
            $start_range = $options['start'];
        }
        $end_range = "";
        if (isset($options['end'])) {
            $end_range = $options['end'];
        }
        $options[self::OSS_METHOD] = self::OSS_HTTP_PUT;
        $options[self::OSS_BUCKET] = $toBucket;
        $options[self::OSS_OBJECT] = $toObject;
        $options[self::OSS_PART_NUM] = $partNumber;
        $options[self::OSS_UPLOAD_ID] = $uploadId;
        if (!isset($options[self::OSS_HEADERS])) {
            $options[self::OSS_HEADERS] = array();
        }
        $options[self::OSS_HEADERS][self::OSS_OBJECT_COPY_SOURCE] = '/' . $fromBucket . '/' . $fromObject;
        $options[self::OSS_HEADERS][self::OSS_OBJECT_COPY_SOURCE_RANGE] = "bytes=" . $start_range . "-" . $end_range;
        $response = $this->auth($options);
        $result = new UploadPartResult($response);
        return $result->getData();
    }