From f81385da31bcb3f1d3e4e2f3f6f2a2697057a71e Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Wed, 1 Apr 2015 16:38:44 +0100 Subject: [PATCH] Fixed content type header of frontend serve view --- wagtail/wagtailimages/tests/tests.py | 2 +- wagtail/wagtailimages/views/frontend.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/wagtail/wagtailimages/tests/tests.py b/wagtail/wagtailimages/tests/tests.py index 3520d01d2..cc52e6758 100644 --- a/wagtail/wagtailimages/tests/tests.py +++ b/wagtail/wagtailimages/tests/tests.py @@ -171,7 +171,7 @@ class TestFrontendServeView(TestCase): # Check response self.assertEqual(response.status_code, 200) - self.assertEqual(response['Content-Type'], 'image/jpeg') + self.assertEqual(response['Content-Type'], 'image/png') def test_get_invalid_signature(self): """ diff --git a/wagtail/wagtailimages/views/frontend.py b/wagtail/wagtailimages/views/frontend.py index 6dcdbe048..a68803094 100644 --- a/wagtail/wagtailimages/views/frontend.py +++ b/wagtail/wagtailimages/views/frontend.py @@ -1,4 +1,5 @@ from wsgiref.util import FileWrapper +import imghdr from django.shortcuts import get_object_or_404 from django.http import HttpResponse @@ -18,6 +19,7 @@ def serve(request, signature, image_id, filter_spec): try: rendition = image.get_rendition(filter_spec) rendition.file.open('rb') - return HttpResponse(FileWrapper(rendition.file), content_type='image/jpeg') + image_format = imghdr.what(rendition.file) + return HttpResponse(FileWrapper(rendition.file), content_type='image/' + image_format) except InvalidFilterSpecError: return HttpResponse("Invalid filter spec: " + filter_spec, content_type='text/plain', status=400)