diff --git a/Router/FileRouter.py b/Router/FileRouter.py index fcae6e0..da1bee3 100644 --- a/Router/FileRouter.py +++ b/Router/FileRouter.py @@ -1,6 +1,6 @@ import os from pathlib import Path -from fastapi import APIRouter, UploadFile, File, Depends, HTTPException +from fastapi import APIRouter, UploadFile, File, Depends, HTTPException, Header from sqlalchemy.orm import Session from Crud import FileCrud from Schemas.UserSchemas import TokenData @@ -8,7 +8,7 @@ from Utils.CommonUtils import file_md5 from Utils.SqlAlchemyUtils import get_db from Schemas import FileSechemas from Utils.AuthUtils import token_data_depend - +from base64 import b64decode router = APIRouter(prefix="/api/daily/file", tags=["文件"]) allow_file_type = { 'image', @@ -19,8 +19,10 @@ allow_file_type = { @router.post('/file_upload', response_model=FileSechemas.UserFileInfo, summary='文件上次') -def file_upload(file: UploadFile = File(...), +def file_upload(name: str = Header(None), file: UploadFile = File(...), db: Session = Depends(get_db), token_data: TokenData = Depends(token_data_depend)): + if name: + name=b64decode(name.encode('utf-8')).decode('utf-8') mime_type = file.content_type common_type, file_type = file.content_type.split('/') if common_type not in allow_file_type: @@ -44,7 +46,7 @@ def file_upload(file: UploadFile = File(...), else: break user_file = FileCrud.add_file(db, - FileSechemas.UserFileCreate(md=file_md, file_name=file.filename, + FileSechemas.UserFileCreate(md=file_md, file_name=name or file.filename, mime_type=mime_type, user_id=token_data.email, common_type=common_type, file_url=file_url))