处理上传腾讯电子签图片超过 20 张的情况

FFIB 8 月之前
父节点
当前提交
66c9d10438
共有 2 个文件被更改,包括 12 次插入6 次删除
  1. 1 5
      api/lensman/contract_mp_views.py
  2. 11 1
      utils/tencentcloud/ess.py

+ 1 - 5
api/lensman/contract_mp_views.py

@@ -136,12 +136,8 @@ def upload_contribution_images(contribution_id):
136 136
     #     }
137 137
     # ]
138 138
     # file_type = 'png'
139
-    upload_files_result = upload_document_files(files, file_type=file_type)
139
+    return upload_document_files(files, file_type=file_type)
140 140
     # upload_files_result = test_upload_document_files(files, file_type=file_type)
141
-    if not upload_files_result:
142
-        return []
143
-
144
-    return upload_files_result.FileIds
145 141
 
146 142
 
147 143
 def create_contribution_contract_flow(lensman):

+ 11 - 1
utils/tencentcloud/ess.py

@@ -35,7 +35,17 @@ def test_upload_document_files(files, file_type='png'):
35 35
 
36 36
 
37 37
 def upload_document_files(files, file_type='png'):
38
-    return upload_files(files, file_type=file_type, business_type='DOCUMENT')
38
+    _files = files
39
+    file_ids = []
40
+
41
+    # 腾讯电子签接口限制 20 张图片
42
+    while len(_files) > 0:
43
+        res = upload_files(_files[:20], file_type=file_type, business_type='DOCUMENT')
44
+        file_ids = file_ids + res.FileIds
45
+        _files = _files[20:]
46
+
47
+        
48
+    return file_ids
39 49
 
40 50
 
41 51
 def upload_files(files, file_type='png', business_type='DOCUMENT'):