Как правильно установить MIME-тип для Chromium в Django

В Django я передаю изображение png на лету как:

from matplotlib.pyplot import figure
fig_ATF = figure(figsize=(5, 5), facecolor='white')
....
response = HttpResponse(content_type='image/png')
fig_ATF.savefig(response, format='png')
fig_ATF.clear()
response['Content-Length'] = len(response.content)
return response

Firefox правильно интерпретирует Content-Type как image / png. Chromium, однако, не отображает изображение и жалуется: Ресурс интерпретируется как Image, но передается с типом MIME text/html

Вот соответствующие заголовки ответа в Chromium:

Cache-Control:max-age=0
Connection:close
Content-Encoding:gzip
Content-Length:20
Content-Type:text/html; charset=utf-8
Date:Tue, 17 Mar 2015 10:08:36 GMT
Expires:Tue, 17 Mar 2015 10:08:37 GMT
Last-Modified:Tue, 17 Mar 2015 10:08:37 GMT
Server:Apache
Vary:Cookie,Accept-Encoding
X-Frame-Options:SAMEORIGIN

РЕДАКТИРОВАТЬ Изображение загружается очень хорошо в Chromium при прямом доступе к нему. Кажется, проблема связана с тем, что он добавляется с помощью ajax через jQuery:

$('#img_location').html('<img src="/path/to/image.png?' + Date.now() + '" width="500" height="500" />');

1 ответ

Решение

Проблема была решена добавлением следующей строки в httpd.conf Apache:

AddType image/png .png
Другие вопросы по тегам