From 03058716a0bb34b6536be35e6ec8b4237f7cdc22 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Sun, 30 Jun 2019 12:02:52 -0400 Subject: [PATCH] Add a Content-Disposition header to s3 downloads (#1047) * Add a Content-Disposition header to s3 downloads so `wget` doesn't generate long invalid filenames. --- CTFd/utils/uploads/uploaders.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CTFd/utils/uploads/uploaders.py b/CTFd/utils/uploads/uploaders.py index bf28fc3f..1fa50f5e 100644 --- a/CTFd/utils/uploads/uploaders.py +++ b/CTFd/utils/uploads/uploaders.py @@ -111,7 +111,14 @@ class S3Uploader(BaseUploader): def download(self, filename): url = self.s3.generate_presigned_url( - "get_object", Params={"Bucket": self.bucket, "Key": filename} + "get_object", + Params={ + "Bucket": self.bucket, + "Key": filename, + "ResponseContentDisposition": "attachment; filename={}".format( + filename + ), + }, ) return redirect(url)