forked from CGM_Public/pretix_original
Fix error 500 on non-ASCII attachment file names
This commit is contained in:
@@ -69,7 +69,7 @@ class ExportersMixin:
|
|||||||
cf = get_object_or_404(CachedFile, id=kwargs['cfid'])
|
cf = get_object_or_404(CachedFile, id=kwargs['cfid'])
|
||||||
if cf.file:
|
if cf.file:
|
||||||
resp = ChunkBasedFileResponse(cf.file.file, content_type=cf.type)
|
resp = ChunkBasedFileResponse(cf.file.file, content_type=cf.type)
|
||||||
resp['Content-Disposition'] = 'attachment; filename="{}"'.format(cf.filename)
|
resp['Content-Disposition'] = 'attachment; filename="{}"'.format(cf.filename).encode("ascii", "ignore")
|
||||||
return resp
|
return resp
|
||||||
elif not settings.HAS_CELERY:
|
elif not settings.HAS_CELERY:
|
||||||
return Response(
|
return Response(
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class DownloadView(TemplateView):
|
|||||||
return HttpResponse('1' if self.object.file else '0')
|
return HttpResponse('1' if self.object.file else '0')
|
||||||
elif self.object.file:
|
elif self.object.file:
|
||||||
resp = ChunkBasedFileResponse(self.object.file.file, content_type=self.object.type)
|
resp = ChunkBasedFileResponse(self.object.file.file, content_type=self.object.type)
|
||||||
resp['Content-Disposition'] = 'attachment; filename="{}"'.format(self.object.filename)
|
resp['Content-Disposition'] = 'attachment; filename="{}"'.format(self.object.filename).encode('ascii', 'ignore')
|
||||||
return resp
|
return resp
|
||||||
else:
|
else:
|
||||||
return super().get(request, *args, **kwargs)
|
return super().get(request, *args, **kwargs)
|
||||||
|
|||||||
@@ -661,5 +661,5 @@ class AnswerDownload(EventViewMixin, View):
|
|||||||
resp['Content-Disposition'] = 'attachment; filename="{}-cart-{}"'.format(
|
resp['Content-Disposition'] = 'attachment; filename="{}-cart-{}"'.format(
|
||||||
self.request.event.slug.upper(),
|
self.request.event.slug.upper(),
|
||||||
os.path.basename(answer.file.name).split('.', 1)[1]
|
os.path.basename(answer.file.name).split('.', 1)[1]
|
||||||
)
|
).encode("ascii", "ignore")
|
||||||
return resp
|
return resp
|
||||||
|
|||||||
Reference in New Issue
Block a user