浏览代码

优化上传图标接口

peng 2 年之前
父节点
当前提交
0961642c5d
共有 1 个文件被更改,包括 15 次插入12 次删除
  1. 15 12
      AdminController/DeviceManagementController.py

+ 15 - 12
AdminController/DeviceManagementController.py

@@ -538,22 +538,25 @@ class DeviceManagement(View):
         name = request_dict.get('name', None)
         sort = request_dict.get('sort', None)
 
-        if not all([app_device_type_id, model, type, icon, device_name_language_id, lang, name, sort]):
+        if not all([app_device_type_id, model, type, device_name_language_id, lang, name, sort]):
             return response.json(444)
-        icon_path = 'https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/{}'.format(icon)
         try:
             with transaction.atomic():
-                AppDeviceType.objects.filter(id=app_device_type_id).update(model=model, type=type, icon=icon_path)
+                if icon:
+                    icon_path = 'https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/{}'.format(icon)
+                    AppDeviceType.objects.filter(id=app_device_type_id).update(model=model, type=type, icon=icon_path)
+                    bucket_name = 'ansjerfilemanager'
+                    file_key = 'app/device_type_images/{}'.format(icon)
+                    s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
+                    # 地址:https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/camera_c190.png
+                    s3.upload_file_obj(
+                        bucket_name,
+                        file_key,
+                        icon,
+                        {'ContentType': icon.content_type, 'ACL': 'public-read'})
+                else:
+                    AppDeviceType.objects.filter(id=app_device_type_id).update(model=model, type=type)
                 DeviceNameLanguage.objects.filter(id=device_name_language_id).update(lang=lang, name=name, sort=sort)
-                bucket_name = 'ansjerfilemanager'
-                file_key = 'app/device_type_images/{}'.format(icon)
-                s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
-                # 地址:https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/camera_c190.png
-                s3.upload_file_obj(
-                    bucket_name,
-                    file_key,
-                    icon,
-                    {'ContentType': icon.content_type, 'ACL': 'public-read'})
             return response.json(0)
         except Exception as e:
             print(e)