larger image file 403 forbidden

Brightcells 9 年之前
父節點
當前提交
d0f8b5ce5c
共有 3 個文件被更改,包括 10 次插入4 次删除
  1. 2 2
      group/views.py
  2. 4 0
      pai2/settings.py
  3. 4 2
      photo/views.py

+ 2 - 2
group/views.py

@@ -550,7 +550,7 @@ def flyimg_upload_api(request):
550 550
         return response(GroupUserStatusCode.GROUP_USER_NOT_FOUND)
551 551
 
552 552
     if photo:
553
-        photo_path = 'fly/{uuid}{extension}'.format(uuid=shortuuid.uuid(), extension=os.path.splitext(photo.name)[1])
553
+        photo_path = 'fly/{uuid}{extension}'.format(uuid=shortuuid.uuid(), extension=os.path.splitext(photo.name)[1] or 'jpeg')
554 554
         photo_thumbnail_path = photo_path.replace('.', '_thumbnail.')
555 555
         photo_thumbnail2_path = photo_path.replace('.', '_thumbnail2.')
556 556
 
@@ -572,7 +572,7 @@ def flyimg_upload_api(request):
572 572
         # 单列: 1080, xx-100K
573 573
         photo_w, photo_h, photo_thumbnail2_w, photo_thumbnail2_h = make_thumbnail(
574 574
             os.path.join(settings.MEDIA_ROOT, photo_path).replace('\\', '/'),
575
-            os.path.join(settings.MEDIA_ROOT, photo_thumbnail_path).replace('\\', '/'),
575
+            os.path.join(settings.MEDIA_ROOT, photo_thumbnail2_path).replace('\\', '/'),
576 576
             settings.THUMBNAIL_MAX_WIDTH2
577 577
         )
578 578
 

+ 4 - 0
pai2/settings.py

@@ -227,6 +227,10 @@ WECHAT_GET_USERINFO = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&op
227 227
 WXPAY_NOTIFY_SUCCESS = '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>'
228 228
 WXPAY_NOTIFY_FAIL = '<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[XML PARSE FAIL]]></return_msg></xml>'
229 229
 
230
+# 图片设置
231
+FILE_UPLOAD_MAX_MEMORY_SIZE = 5242880  # InMemoryUploadedFile 文件最大值
232
+FILE_UPLOAD_PERMISSIONS = 0o644  # TemporaryUploadedFile 文件权限设置
233
+
230 234
 # 唯一标识设置
231 235
 CURTAIL_UUID_LENGTH = 7
232 236
 

+ 4 - 2
photo/views.py

@@ -115,6 +115,8 @@ def upload_photo(request):
115 115
     # photo_id = curtailUUID(PhotosInfo, 'photo_id')
116 116
 
117 117
     _, extension = os.path.splitext(photo.name)
118
+    extension = extension or 'jpeg'
119
+
118 120
     m_photo_path = 'photo/{uuid}{extension}'.format(uuid=shortuuid.uuid(), extension=extension)
119 121
 
120 122
     if default_storage.exists(m_photo_path):
@@ -199,7 +201,7 @@ def session_join_api(request):
199 201
         for photo in photos:
200 202
             photo_path = photo.p_photo_path
201 203
             photo_thumbnail_path = photo_path.replace('.', '_thumbnail.')
202
-            photo_thumbnail_path = photo_path.replace('.', '_thumbnail2.')
204
+            photo_thumbnail2_path = photo_path.replace('.', '_thumbnail2.')
203 205
 
204 206
             # 群组照片缩略图生成
205 207
             # 双列: 540, 40-50K
@@ -212,7 +214,7 @@ def session_join_api(request):
212 214
             # 单列: 1080, xx-100K
213 215
             photo_w, photo_h, photo_thumbnail2_w, photo_thumbnail2_h = make_thumbnail(
214 216
                 os.path.join(settings.MEDIA_ROOT, photo_path).replace('\\', '/'),
215
-                os.path.join(settings.MEDIA_ROOT, photo_thumbnail_path).replace('\\', '/'),
217
+                os.path.join(settings.MEDIA_ROOT, photo_thumbnail2_path).replace('\\', '/'),
216 218
                 settings.THUMBNAIL_MAX_WIDTH2
217 219
             )
218 220