support Chinese contest name for submission download

This commit is contained in:
BBBob 2019-03-27 16:38:15 +08:00
parent efc4f3f4c3
commit 3242c569b9

View File

@ -19,6 +19,7 @@ from ..serializers import (ContestAnnouncementSerializer, ContestAdminSerializer
CreateConetestSeriaizer, CreateContestAnnouncementSerializer, CreateConetestSeriaizer, CreateContestAnnouncementSerializer,
EditConetestSeriaizer, EditContestAnnouncementSerializer, EditConetestSeriaizer, EditContestAnnouncementSerializer,
ACMContesHelperSerializer, ) ACMContesHelperSerializer, )
from django.utils.encoding import escape_uri_path
class ContestAPI(APIView): class ContestAPI(APIView):
@ -255,5 +256,6 @@ class DownloadContestSubmissions(APIView):
delete_files.apply_async((zip_path,), countdown=300) delete_files.apply_async((zip_path,), countdown=300)
resp = FileResponse(open(zip_path, "rb")) resp = FileResponse(open(zip_path, "rb"))
resp["Content-Type"] = "application/zip" 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 return resp