Browse Source

app设备设备类型上传图标功能

guanhailong 3 years ago
parent
commit
0078fa5d9d
1 changed files with 22 additions and 4 deletions
  1. 22 4
      AdminController/DeviceManagementController.py

+ 22 - 4
AdminController/DeviceManagementController.py

@@ -8,10 +8,12 @@ from django.db import transaction
 from django.db.models import Q, F
 from django.views.generic.base import View
 
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
+    AWS_SES_ACCESS_REGION
 from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, DeviceTypeModel, Equipment_Info, UidUserModel, ExperienceAiModel, AiService, \
     AppBundle, App_Info, AppDeviceType, DeviceNameLanguage
+from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -81,9 +83,25 @@ class DeviceManagement(View):
             else:
                 return response.json(444, 'operation')
 
-    @staticmethod
-    def up_file(request_dict, request, response):
-        pass
+    @classmethod
+    def up_file(cls, request_dict, request, response):
+        iconFile = request.FILES.get('iconFile', None)
+        name = iconFile.name
+        if not all([iconFile]):
+            return response.json(444)
+        try:
+            file = iconFile.name
+            file_key = 'app/device_type_images/{}'.format(name)
+            s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
+            # 存储桶
+            bucket = 'ansjerfilemanager'
+            # 地址:https://ansjerfilemanager.s3.amazonaws.com/app/device_type_images/camera_c190.png
+            s3.upload_file_obj(bucket, file_key, file, {'ContentType': file.content_type, 'ACL':'public-read'})
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
 
 
     @classmethod