From 0d8b7db2729d94338824c748901637c625c103b0 Mon Sep 17 00:00:00 2001 From: Tyler Kennedy Date: Wed, 14 Dec 2022 01:26:19 -0500 Subject: Set the content type and disposition of webp files uploaded to S3 --- core/uploads.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core') diff --git a/core/uploads.py b/core/uploads.py index 0160e2e..c83888c 100644 --- a/core/uploads.py +++ b/core/uploads.py @@ -2,6 +2,7 @@ import os import secrets from django.utils import timezone +from storages.backends.s3boto3 import S3Boto3Storage def upload_namer(prefix, instance, filename): @@ -12,3 +13,14 @@ def upload_namer(prefix, instance, filename): _, old_extension = os.path.splitext(filename) new_filename = secrets.token_urlsafe(20) return f"{prefix}/{now.year}/{now.month}/{now.day}/{new_filename}{old_extension}" + + +class TakaheS3Storage(S3Boto3Storage): + def get_object_parameters(self, name: str): + params = self.object_parameters.copy() + + if name.endswith(".webp"): + params["ContentDisposition"] = "inline" + params["ContentType"] = "image/webp" + + return params -- cgit v1.2.3