Skip to content

Commit d25ed4a

Browse files
authored
Merge pull request #291 from jemygraw/master
fix resume uploader error when using chinese character as the file key
2 parents caba820 + 850eb13 commit d25ed4a

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

qiniu/services/storage/upload_progress_recorder.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import json
55
import os
66
import tempfile
7+
from qiniu.compat import is_py2, is_py3
78

89

910
class UploadProgressRecorder(object):
@@ -27,8 +28,11 @@ def __init__(self, record_folder=tempfile.gettempdir()):
2728

2829
def get_upload_record(self, file_name, key):
2930
record_key = '{0}/{1}'.format(key, file_name)
31+
if is_py2:
32+
record_file_name = hashlib.md5(record_key).hexdigest()
33+
else:
34+
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
3035

31-
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
3236
upload_record_file_path = os.path.join(self.record_folder, record_file_name)
3337
if not os.path.isfile(upload_record_file_path):
3438
return None
@@ -38,13 +42,21 @@ def get_upload_record(self, file_name, key):
3842

3943
def set_upload_record(self, file_name, key, data):
4044
record_key = '{0}/{1}'.format(key, file_name)
41-
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
45+
if is_py2:
46+
record_file_name = hashlib.md5(record_key).hexdigest()
47+
else:
48+
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
49+
4250
upload_record_file_path = os.path.join(self.record_folder, record_file_name)
4351
with open(upload_record_file_path, 'w') as f:
4452
json.dump(data, f)
4553

4654
def delete_upload_record(self, file_name, key):
4755
record_key = '{0}/{1}'.format(key, file_name)
48-
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
56+
if is_py2:
57+
record_file_name = hashlib.md5(record_key).hexdigest()
58+
else:
59+
record_file_name = hashlib.md5(record_key.encode('utf-8')).hexdigest()
60+
4961
upload_record_file_path = os.path.join(self.record_folder, record_file_name)
5062
os.remove(upload_record_file_path)

0 commit comments

Comments
 (0)