|
4 | 4 | from urllib.parse import quote |
5 | 5 |
|
6 | 6 | from botocore.exceptions import ClientError |
7 | | -from fastapi import APIRouter, Header, HTTPException, UploadFile, status, Request |
| 7 | +from fastapi import APIRouter, Header, HTTPException, Request, UploadFile, status |
8 | 8 | from fastapi.responses import StreamingResponse |
9 | 9 | from sqlmodel import col, select |
10 | 10 | from types_aiobotocore_s3.type_defs import CompletedPartTypeDef |
|
20 | 20 | RoomOut, |
21 | 21 | ) |
22 | 22 | from app.settings import settings |
23 | | -from app.states.room import RoomState |
24 | 23 | from app.states.app import UploadProgress |
| 24 | +from app.states.room import RoomState |
25 | 25 | from app.tasks.clean_file import delete_expired_file |
26 | 26 | from app.tasks.persist_file import persist_file_record |
27 | 27 |
|
@@ -86,7 +86,6 @@ async def add_host( |
86 | 86 | async def upload_file_to_room( |
87 | 87 | room_id: str, |
88 | 88 | file: UploadFile, |
89 | | - file: UploadFile, |
90 | 89 | request: Request, |
91 | 90 | s3: S3Dep, |
92 | 91 | x_host_token: str = Header(), |
@@ -208,7 +207,7 @@ async def upload_file_to_room( |
208 | 207 | filename=filename, |
209 | 208 | size=uploaded_size, |
210 | 209 | uploaded_at=now, |
211 | | - download_url=f"{settings.ROOT_PATH}/download/{file_key}", |
| 210 | + download_url=str(request.app.url_path_for("download_files", key=file_key)), |
212 | 211 | ) |
213 | 212 |
|
214 | 213 | # Persist in room state + fan-out event via pub/sub (atomic append) |
|
0 commit comments