Update storage/db_routers.py
Browse files- storage/db_routers.py +6 -4
storage/db_routers.py
CHANGED
|
@@ -7,7 +7,7 @@ import zipfile
|
|
| 7 |
from pathlib import Path
|
| 8 |
|
| 9 |
from fastapi import APIRouter, UploadFile, File, Query, HTTPException
|
| 10 |
-
from fastapi.responses import JSONResponse,
|
| 11 |
|
| 12 |
from storage.common import validate_token
|
| 13 |
|
|
@@ -37,7 +37,7 @@ async def download_all_db_files(
|
|
| 37 |
if not db_files:
|
| 38 |
raise HTTPException(status_code=404, detail="No .db files found")
|
| 39 |
|
| 40 |
-
#
|
| 41 |
zip_buffer = io.BytesIO()
|
| 42 |
|
| 43 |
with zipfile.ZipFile(zip_buffer, "w", zipfile.ZIP_DEFLATED) as zipf:
|
|
@@ -46,10 +46,12 @@ async def download_all_db_files(
|
|
| 46 |
|
| 47 |
zip_buffer.seek(0)
|
| 48 |
|
| 49 |
-
return
|
| 50 |
zip_buffer,
|
| 51 |
media_type="application/zip",
|
| 52 |
-
|
|
|
|
|
|
|
| 53 |
)
|
| 54 |
|
| 55 |
|
|
|
|
| 7 |
from pathlib import Path
|
| 8 |
|
| 9 |
from fastapi import APIRouter, UploadFile, File, Query, HTTPException
|
| 10 |
+
from fastapi.responses import JSONResponse, StreamingResponse
|
| 11 |
|
| 12 |
from storage.common import validate_token
|
| 13 |
|
|
|
|
| 37 |
if not db_files:
|
| 38 |
raise HTTPException(status_code=404, detail="No .db files found")
|
| 39 |
|
| 40 |
+
# Create in-memory ZIP
|
| 41 |
zip_buffer = io.BytesIO()
|
| 42 |
|
| 43 |
with zipfile.ZipFile(zip_buffer, "w", zipfile.ZIP_DEFLATED) as zipf:
|
|
|
|
| 46 |
|
| 47 |
zip_buffer.seek(0)
|
| 48 |
|
| 49 |
+
return StreamingResponse(
|
| 50 |
zip_buffer,
|
| 51 |
media_type="application/zip",
|
| 52 |
+
headers={
|
| 53 |
+
"Content-Disposition": 'attachment; filename="db_files.zip"'
|
| 54 |
+
}
|
| 55 |
)
|
| 56 |
|
| 57 |
|