Skip to content

Commit b4f26cc

Browse files
committed
增加ETag的兼容逻辑
1 parent 3b2f32e commit b4f26cc

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
cos-php-sdk-v5 Upgrade Guide
22
====================
3+
2.5.2 to 2.5.3
4+
---------
5+
- 增加ETag的兼容逻辑,防止因为特殊框架或者网关规则导致etag undefined
6+
37
2.5.1 to 2.5.2
48
---------
59
- 修复预签名中Headers参数无效的问题

src/Client.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
* @see \Qcloud\Cos\Service::getService()
125125
*/
126126
class Client extends GuzzleClient {
127-
const VERSION = '2.5.2';
127+
const VERSION = '2.5.3';
128128

129129
public $httpClient;
130130

src/MultipartUpload.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,15 @@ public function uploadParts($uploadId) {
100100
$index = $index + 1;
101101
$partNumber = $this->partNumberList[$index]['PartNumber'];
102102
$partSize = $this->partNumberList[$index]['PartSize'];
103-
$etag = $response->getHeaders()["ETag"][0];
103+
104+
//兼容两种写法,防止index为undefined
105+
if (array_key_exists('etag', $response->getHeaders())) {
106+
$etag = $response->getHeaders()["etag"][0];
107+
}
108+
109+
if (array_key_exists('ETag', $response->getHeaders())) {
110+
$etag = $response->getHeaders()["ETag"][0];
111+
}
104112
$part = array('PartNumber' => $partNumber, 'ETag' => $etag);
105113
$this->parts[$partNumber] = $part;
106114
$this->uploadedSize += $partSize;

0 commit comments

Comments
 (0)