From f2b5490f10e1ddf089372b856505a8c53d189978 Mon Sep 17 00:00:00 2001 From: lan Date: Wed, 8 Feb 2023 03:27:45 +0800 Subject: [PATCH] =?UTF-8?q?add:=E8=A7=A3=E5=86=B3select=E5=8F=AF=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=E6=AC=A1=E6=95=B0=E9=99=90=E5=88=B6=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9Esha256=E5=8A=A0=E5=AF=86token=EF=BC=8C=E9=99=90?= =?UTF-8?q?=E5=88=B6=E5=8F=96=E4=BB=B6=E7=A0=81+ip+=E6=97=B6=E9=97=B4999s?= =?UTF-8?q?=E5=86=85=E5=8F=96=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index f1c953a..e3c56df 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,7 @@ from pathlib import Path from sqlalchemy import select, func, update from sqlalchemy.ext.asyncio import AsyncSession from starlette.requests import Request -from starlette.responses import HTMLResponse, FileResponse +from starlette.responses import HTMLResponse, FileResponse, RedirectResponse from starlette.staticfiles import StaticFiles from core.utils import error_ip_limit, upload_ip_limit, get_code, storage, delete_expire_files, get_token from core.depends import admin_required @@ -166,6 +166,9 @@ async def get_file(code: str, token: str, ip: str = Depends(error_ip_limit), s: if info.type == 'text': return {'detail': '查询成功', 'data': info.text} # 如果是文件,返回文件 + elif storage.NAME != 'filesystem': + # 重定向到文件存储服务器 + return RedirectResponse(await storage.get_url(info)) else: filepath = await storage.get_filepath(info.text) return FileResponse(filepath, filename=info.name)