Skip to content

Commit 1dc6a74

Browse files
author
lan-air
committed
隐藏真实文件地址
1 parent 710bb55 commit 1dc6a74

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

main.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from sqlalchemy import or_
77
from sqlalchemy.orm import Session
88
from starlette.requests import Request
9-
from starlette.responses import HTMLResponse
9+
from starlette.responses import HTMLResponse, FileResponse
1010
import random
1111

1212
from starlette.staticfiles import StaticFiles
@@ -137,6 +137,18 @@ def ip_error(ip):
137137
return ip_info['count']
138138

139139

140+
@app.get('/file')
141+
async def get_file(code: str, db: Session = Depends(get_db)):
142+
file = db.query(database.Codes).filter(database.Codes.code == code).first()
143+
if file:
144+
if file.type == 'text':
145+
return {'code': code, 'msg': '查询成功', 'data': file.text}
146+
else:
147+
return FileResponse('.' + file.text)
148+
else:
149+
return {'code': 404, 'msg': '口令不存在'}
150+
151+
140152
@app.post('/')
141153
async def index(request: Request, code: str, db: Session = Depends(get_db)):
142154
ip = request.client.host
@@ -152,6 +164,8 @@ async def index(request: Request, code: str, db: Session = Depends(get_db)):
152164
return {'code': 404, 'msg': '取件码已过期,请联系寄件人'}
153165
info.count -= 1
154166
db.commit()
167+
if info.type != 'text':
168+
info.text = f'/file?code={code}'
155169
return {
156170
'code': 200,
157171
'msg': '取件成功,请点击"取"查看',

0 commit comments

Comments
 (0)