Ответ 1
Вы должны использовать директиву default_type
:
server {
...
default_type text/html;
location /images/png {
default_type image/png;
}
location /images/jpg {
default_type image/jpeg;
}
}
У меня есть сервер с nginx. И у меня много изображений - pngs и jpg сохраняются как файлы без расширения (например, "123123123_321312" ).
Когда я использую тег "img" на странице html, я получаю эти сообщения в консоли:
Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxx/images/1350808948_997628". jquery.js:2 Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxx/images/1343808569_937350".
Есть ли способ сделать nginx добавить заголовок с правильным типом файла запрошенного файла?
Вы должны использовать директиву default_type
:
server {
...
default_type text/html;
location /images/png {
default_type image/png;
}
location /images/jpg {
default_type image/jpeg;
}
}
Мне также нужно добавить.
Решение Mickaël Le Baillif также работает, если ваша веб-страница загружается, а не выполняется.
Поскольку nginx считает, что он должен быть default_type application/octet-stream;
, хотя официальная документация говорит:
Чтобы сделать конкретное местоположение, выпустите "приложение/октет-поток" MIME type для всех запросов, можно использовать следующую конфигурацию
И указывает на location /download/
Это также дает:
Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxxx.com/"
Версия Nginx: 1.6.2