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();
}