🐛 Urlencoding headers for file-downloads
This commit is contained in:
@@ -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
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user