diff --git a/app/api/v1/endpoints/user.py b/app/api/v1/endpoints/user.py index e9f619b..437f360 100644 --- a/app/api/v1/endpoints/user.py +++ b/app/api/v1/endpoints/user.py @@ -41,10 +41,10 @@ async def update_current_user( f.write(await avatar_file.read()) # 生成 URL 路径 - avatar_url = f"/app/static/avatar/{unique_filename}" + avatar_url = f"/static/avatar/{unique_filename}" # 删除旧的头像文件 - if db_user.avatar and db_user.avatar != "/app/static/avatar/default.png": + if db_user.avatar and db_user.avatar != "/static/avatar/default.png": old_avatar_path = db_user.avatar.lstrip("/") # 去掉开头的斜杠 if os.path.exists(old_avatar_path): os.remove(old_avatar_path) diff --git a/app/curd/user.py b/app/curd/user.py index 0a42ede..6545c34 100644 --- a/app/curd/user.py +++ b/app/curd/user.py @@ -9,7 +9,7 @@ async def get_user_by_email(db: AsyncSession, email: str): return result.scalar_one_or_none() async def create_user(db: AsyncSession, email: str, username: str, hashed_password: str): - new_user = User(email=email, username=username, password=hashed_password, avatar="/app/static/avatar/default.png") + new_user = User(email=email, username=username, password=hashed_password, avatar="/static/avatar/default.png") db.add(new_user) await db.commit() await db.refresh(new_user) diff --git a/app/main.py b/app/main.py index 840f0ba..e4e1c3c 100644 --- a/app/main.py +++ b/app/main.py @@ -3,6 +3,7 @@ from fastapi_pagination import add_pagination from loguru import logger from fastapi.middleware.cors import CORSMiddleware +from fastapi.staticfiles import StaticFiles app = FastAPI() @@ -37,4 +38,7 @@ async def log_requests(request: Request, call_next): allow_credentials=True, # 允许发送凭据(如 Cookies 或 Authorization 头) allow_methods=["*"], # 允许的 HTTP 方法 allow_headers=["*"], # 允许的请求头 -) \ No newline at end of file +) + +# 挂载静态文件目录 +app.mount("/static", StaticFiles(directory="app/static"), name="static") \ No newline at end of file