🐛 Urlencoding headers for file-downloads

This commit is contained in:
Mawoka
2022-12-10 12:39:32 +01:00
parent 907f54587b
commit 3be5cd5f66
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -13,6 +13,7 @@ from classquiz.auth import get_current_user
from classquiz.config import storage, settings from classquiz.config import storage, settings
from classquiz.db.models import Quiz, User from classquiz.db.models import Quiz, User
import gzip import gzip
import urllib.parse
router = APIRouter() router = APIRouter()
settings = settings() settings = settings()
@@ -59,7 +60,7 @@ async def export_quiz(quiz_id: uuid.UUID, user: User = Depends(get_current_user)
stream_response(), stream_response(),
media_type="application/octet-stream", media_type="application/octet-stream",
headers={ headers={
"Content-Disposition": f"attachment;filename={quiz.title.encode('ascii', errors='ignore').decode()}.cqa" "Content-Disposition": f"attachment;filename={urllib.parse.quote(quiz.title)}.cqa"
# noqa: E501 # noqa: E501
}, },
) )
+2 -1
View File
@@ -21,6 +21,7 @@ from classquiz.config import redis, settings, storage, meilisearch
from classquiz.db.models import Quiz, QuizInput, User, PlayGame from classquiz.db.models import Quiz, QuizInput, User, PlayGame
from classquiz.kahoot_importer.import_quiz import import_quiz from classquiz.kahoot_importer.import_quiz import import_quiz
import html import html
import urllib.parse
settings = settings() settings = settings()
@@ -270,6 +271,6 @@ async def export_quiz_answers(export_token: str, game_pin: str):
iter_file(), iter_file(),
media_type="application/vnd.ms-excel", media_type="application/vnd.ms-excel",
headers={ headers={
"Content-Disposition": f"attachment;filename=ClassQuiz-{quiz.title.encode('ascii', errors='ignore').decode()}-{datetime.now().strftime('%m-%d-%Y')}.xlsx" # noqa: E501 "Content-Disposition": f"attachment;filename=ClassQuiz-{urllib.parse.quote(quiz.title)}-{datetime.now().strftime('%m-%d-%Y')}.xlsx" # noqa: E501
}, },
) )