只是在chrome中运行我的网站,并且令人惊讶的是它为我的每个.png图像提供了此警告:
Resource interpreted as image but transferred with MIME type application/octet-stream.
之前有人见过这个吗?
此致
答案 0 :(得分:84)
我在使用ASP.NET Development Server运行ASP.NET WebForms应用程序时遇到了这个问题。
如果您将IIS Express用作服务器(VS 2010 SP1),我怀疑会发生类似情况。
我通过编辑项目设置(在Web下)在本地解决了我的问题,并在本地计算机上从ASP.NET Development Server更改为IIS。我可以看到PNG已经被正确定义为图像MIME类型,当我点击我的本地IIS服务器时,它正在使用正确的类型提供文件。
答案 1 :(得分:4)
此警告告诉您,您的Web服务器未配置为为PNG图像发送正确的MIME类型元数据。您应该咨询Web服务器的管理员,并要求他们设置正确的MIME映射
答案 2 :(得分:4)
我在.htaccess中添加了这样的类型(AddType图像/类型扩展名) 即
AddType image/png cur
AddType image/svg+xml svg svgz
答案 3 :(得分:2)
当然,上述解决方案是完美的。为了避免警告和干净的控制台,我完成了我的代码更改。 (这也仅适用于ASP.NET Development Server)我为此编写了一个额外的处理程序:
PNGHandler.cs
class PNGHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if(context.Request.HttpMethod == "GET")
{
string requestedFile = context.Server.MapPath(context.Request.FilePath);
FileInfo fileinfo = new FileInfo(requestedFile);
string contentType = "";
if (fileinfo.Exists && fileinfo.Extension.Remove(0, 1).ToUpper() == "PNG")
{
contentType = "image/png";
context.Response.ContentType = contentType;
context.Response.TransmitFile(requestedFile);
context.Response.End();
}
}
}
}
在system.web
下的web.config中添加了Http Handler<system.web>
<httpHandlers>
<add path="*.png" verb="*" type="PNGHandler" />
</httpHandlers>
</system.web>
答案 4 :(得分:0)
我发现垃圾邮件的最快方法是使用CTRL键选择错误,警告和调试,而不是全部。
全部:
错误,警告和调试:
答案 5 :(得分:0)
我通过在控制面板&gt;中启用静态内容解决了这个问题计划和功能&gt; 打开或关闭Windows功能&gt; IIS组件&gt; 万维网服务&gt; 常见HTTP功能