From 65dae4f3abf10a322db35f599df7eab480686f09 Mon Sep 17 00:00:00 2001 From: XingQue Date: Fri, 10 Jul 2026 00:04:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BA=97=E9=93=BA=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E4=B8=8B=E8=BD=BD=E6=8B=92=E7=BB=9D=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=A7=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 超过2MB的OSS对象视为路径错误,提示重新生成而非原样返回。 Co-authored-by: Cursor --- shop/views/shop_base_views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shop/views/shop_base_views.py b/shop/views/shop_base_views.py index 8d458f3..ad3acd8 100644 --- a/shop/views/shop_base_views.py +++ b/shop/views/shop_base_views.py @@ -499,6 +499,14 @@ class QrcodeDownloadView(APIView): if not image_data: return Response({'code': 404, 'msg': '二维码文件不存在'}, status=404) + # 店铺二维码正常仅数十 KB,超过 2MB 视为 OSS 路径异常 + if len(image_data) > 2 * 1024 * 1024: + logger.error( + '店铺二维码文件体积异常 dianpu=%s key=%s size=%s', + dianpu.id, oss_key, len(image_data), + ) + return Response({'code': 500, 'msg': '二维码文件异常,请重新生成'}, status=500) + # 4. 返回图片(inline 供页面展示,attachment 供下载) filename = f"shop_qrcode_{dianpu.id}.png" disposition_type = 'inline' if request.GET.get('disposition') == 'inline' else 'attachment'