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'