lhq 4 роки тому
батько
коміт
683ab547d3
1 змінених файлів з 17 додано та 19 видалено
  1. 17 19
      Controller/PcInfo.py

+ 17 - 19
Controller/PcInfo.py

@@ -370,25 +370,23 @@ class PcInfo(View):
         try:
             # 删除s3和数据库里的相应数据
             file_path = file[0].download_link
-            session = Session(aws_access_key_id=AWS_ACCESS_KEY_ID[0],
-                              aws_secret_access_key=AWS_SECRET_ACCESS_KEY[0],
-                              region_name='cn-northwest-1')
-            s3 = session.resource('s3')
-            bucket = s3.Bucket('pc-package')
-            obj_list = []
-            # 获取存储桶的所有对象,判断对象是否上传成功
-            for obj in bucket.objects.all():
-                obj_list.append(obj.key)
-            if file_path in obj_list:
-                aws_s3_guonei = boto3.client(
-                    's3',
-                    aws_access_key_id=AWS_ACCESS_KEY_ID[0],
-                    aws_secret_access_key=AWS_SECRET_ACCESS_KEY[0],
-                    config=botocore.client.Config(signature_version='s3v4'),
-                    region_name='cn-northwest-1'
-                )
-                aws_s3_guonei.delete_object(Bucket='pc-package', Key=file_path)
-            file.delete()
+            aws_s3_guonei = boto3.client(
+                's3',
+                aws_access_key_id=AWS_ACCESS_KEY_ID[0],
+                aws_secret_access_key=AWS_SECRET_ACCESS_KEY[0],
+                config=botocore.client.Config(signature_version='s3v4'),
+                region_name='cn-northwest-1'
+            )
+            try:
+                # 获取存储桶的对象,判断对象是否上传成功
+                obj = aws_s3_guonei.get_object(Bucket='pc-package', Key=file_path)
+            except Exception as e:
+                print(e)
+                file.delete()
+            else:
+                if obj:
+                    aws_s3_guonei.delete_object(Bucket='pc-package', Key=file_path)
+                    file.delete()
         except Exception as e:
             return response.json(176, repr(e))
         else: