diff --git a/app/services/s3_storage.py b/app/services/s3_storage.py index 4f105f1..09ee39a 100644 --- a/app/services/s3_storage.py +++ b/app/services/s3_storage.py @@ -77,7 +77,7 @@ class S3Storage: self.ensure_bucket() url = self.client.generate_presigned_url( "put_object", - Params={"Bucket": self.bucket, "Key": key}, + Params={"Bucket": self.bucket, "Key": key, "ContentType": mime_type}, ExpiresIn=expires_sec, HttpMethod="PUT", ) diff --git a/tests/test_uploads_s3.py b/tests/test_uploads_s3.py index 0ea72f3..85d7512 100644 --- a/tests/test_uploads_s3.py +++ b/tests/test_uploads_s3.py @@ -979,5 +979,11 @@ class UploadsS3Tests(unittest.TestCase): self.assertTrue(second.startswith("/s3/")) self.assertEqual(fake_client.head_bucket_calls, 1) self.assertEqual(fake_client.create_bucket_calls, 0) - self.assertEqual(fake_client.presign_params[0], {"Bucket": settings.S3_BUCKET, "Key": "avatars/test-user/photo.png"}) - self.assertEqual(fake_client.presign_params[1], {"Bucket": settings.S3_BUCKET, "Key": "avatars/test-user/photo-2.png"}) + self.assertEqual( + fake_client.presign_params[0], + {"Bucket": settings.S3_BUCKET, "Key": "avatars/test-user/photo.png", "ContentType": "image/png"}, + ) + self.assertEqual( + fake_client.presign_params[1], + {"Bucket": settings.S3_BUCKET, "Key": "avatars/test-user/photo-2.png", "ContentType": "image/png"}, + )