我有一台带有nginx的服务器。我有很多图像 - pngs和jpgs保存为没有扩展名的文件(如“123123123_321312”)。
当我在html页面中使用标签“img”时,我会在控制台中收到这些消息:
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添加标头并使用所请求文件的正确mimetype?
答案 0 :(得分:16)
您应该使用default_type
指令:
server {
...
default_type text/html;
location /images/png {
default_type image/png;
}
location /images/jpg {
default_type image/jpeg;
}
}
答案 1 :(得分:0)
我还要补充一下。
如果您的网页被下载而不是执行,MickaëlLeBaillif解决方案也可以使用。
因为nginx认为它应该是default_type application/octet-stream;
,即使官方文档说:
使特定位置发出“application / octet-stream”MIME 输入所有请求的类型,可以使用以下配置
并指向location /download/
这也给出了:
Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxxx.com/"
Nginx版本:1.6.2