From 3242c569b9f80e96578d21dba56ae1fd694ccbb7 Mon Sep 17 00:00:00 2001 From: BBBob Date: Wed, 27 Mar 2019 16:38:15 +0800 Subject: [PATCH] support Chinese contest name for submission download --- contest/views/admin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contest/views/admin.py b/contest/views/admin.py index b569e26c..bc5a7580 100644 --- a/contest/views/admin.py +++ b/contest/views/admin.py @@ -19,6 +19,7 @@ from ..serializers import (ContestAnnouncementSerializer, ContestAdminSerializer CreateConetestSeriaizer, CreateContestAnnouncementSerializer, EditConetestSeriaizer, EditContestAnnouncementSerializer, ACMContesHelperSerializer, ) +from django.utils.encoding import escape_uri_path class ContestAPI(APIView): @@ -255,5 +256,6 @@ class DownloadContestSubmissions(APIView): delete_files.apply_async((zip_path,), countdown=300) resp = FileResponse(open(zip_path, "rb")) resp["Content-Type"] = "application/zip" - resp["Content-Disposition"] = f"attachment;filename={os.path.basename(zip_path)}" + file_name = os.path.basename(zip_path) + resp["Content-Disposition"] = f"attachment;filename={escape_uri_path(file_name)}" return resp