Skip to content

Commit fb79587

Browse files
committed
Upload Part Enable MD5 Check
1 parent 1a47084 commit fb79587

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

qcloud_cos/cos_client.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ def create_multipart_upload(self, Bucket, Key, **kwargs):
553553
data = xml_to_dict(rt.text)
554554
return data
555555

556-
def upload_part(self, Bucket, Key, Body, PartNumber, UploadId, **kwargs):
556+
def upload_part(self, Bucket, Key, Body, PartNumber, UploadId, EnableMD5=False, **kwargs):
557557
"""上传分块,单个大小不得超过5GB
558558
559559
:param Bucket(string): 存储桶名称.
@@ -562,6 +562,7 @@ def upload_part(self, Bucket, Key, Body, PartNumber, UploadId, **kwargs):
562562
:param PartNumber(int): 上传分块的编号.
563563
:param UploadId(string): 分块上传创建的UploadId.
564564
:param kwargs(dict): 设置请求headers.
565+
:param EnableMD5(bool): 是否需要SDK计算Content-MD5,打开此开关会增加上传耗时.
565566
:return(dict): 上传成功返回的结果,包含单个分块ETag等信息.
566567
567568
.. code-block:: python
@@ -585,6 +586,10 @@ def upload_part(self, Bucket, Key, Body, PartNumber, UploadId, **kwargs):
585586
url=url,
586587
headers=headers))
587588
Body = deal_with_empty_file_stream(Body)
589+
if EnableMD5:
590+
md5_str = get_content_md5(Body)
591+
if md5_str:
592+
headers['Content-MD5'] = md5_str
588593
rt = self.send_request(
589594
method='PUT',
590595
url=url,

0 commit comments

Comments
 (0)