瀏覽代碼

设备获取上传日志url支持多个

locky 3 年之前
父節點
當前提交
43234bccb4
共有 1 個文件被更改,包括 25 次插入20 次删除
  1. 25 20
      Controller/DeviceLogController.py

+ 25 - 20
Controller/DeviceLogController.py

@@ -40,32 +40,37 @@ class DeviceLogView(View):
     def getUploadUrl(self, request_dict, response):
         uid = request_dict.get('uid', None)
         file_type = request_dict.get('file_type', None)
+        file_num = int(request_dict.get('file_num', 1))
 
         if not all([uid, file_type]):
             return response.json(444)
 
         try:
             uid = CommonService.decode_data(uid)
-            # 日志文件名
-            name = CommonService.createOrderID()
-            filename = str(name) + '.' + file_type
-            obj = 'device_log/{uid}/'.format(uid=uid) + filename
-            aws_s3_client = boto3.client(
-                's3',
-                region_name=REGION_NAME,
-                aws_access_key_id=ACCESS_KEY_ID,
-                aws_secret_access_key=SECRET_ACCESS_KEY,
-                config=botocore.client.Config(signature_version='s3v4'),
-            )
-            put_url = aws_s3_client.generate_presigned_url(
-                ClientMethod='put_object',
-                Params={
-                    'Bucket': LOG_BUCKET,
-                    'Key': obj
-                },
-                ExpiresIn=3600
-            )
-            return response.json(0, {'put_url': put_url, 'filename': filename})
+            put_url_list = []
+            for num in range(file_num):
+                # 日志文件名
+                name = CommonService.createOrderID()
+                filename = str(name) + '.' + file_type
+                obj = 'device_log/{uid}/'.format(uid=uid) + filename
+                aws_s3_client = boto3.client(
+                    's3',
+                    region_name=REGION_NAME,
+                    aws_access_key_id=ACCESS_KEY_ID,
+                    aws_secret_access_key=SECRET_ACCESS_KEY,
+                    config=botocore.client.Config(signature_version='s3v4'),
+                )
+                put_url = aws_s3_client.generate_presigned_url(
+                    ClientMethod='put_object',
+                    Params={
+                        'Bucket': LOG_BUCKET,
+                        'Key': obj
+                    },
+                    ExpiresIn=3600
+                )
+                put_url_dict = {'put_url': put_url, 'filename': filename}
+                put_url_list.append(put_url_dict)
+            return response.json(0, {'put_url_list': put_url_list})
         except Exception as e:
             print(e)
             return response.json(500, repr(e))