Предупреждение о типе MIME в Chrome для изображений PNG - PullRequest
115 голосов
/ 13 июля 2010

Просто запустил мой сайт в Chrome, и, как ни странно, он выдает это предупреждение для каждого из моих изображений .png:

Resource interpreted as image but transferred with MIME type application/octet-stream.

Кто-нибудь видел это раньше?

Привет

Ответы [ 6 ]

84 голосов
/ 02 февраля 2011

Я столкнулся с этим при запуске приложения ASP.NET WebForms с использованием сервера разработки ASP.NET.

Я подозреваю, что нечто подобное произойдет, если вы также используете IIS Express в качестве сервера (VS 2010 SP1).

Я «решил» мою проблему локально, отредактировав настройки проекта (в сети) и изменив сервер ASP.NET Development Server на IIS на моем локальном компьютере.Я вижу, что PNG уже был правильно определен как MIME-тип изображения, и действительно, когда я подключаюсь к своему локальному серверу IIS, он подает файл с правильным типом.

4 голосов
/ 07 ноября 2012

Я добавил такие типы в .htaccess (AddType image / type extension) т.е.

AddType image/png cur
AddType image/svg+xml svg svgz
4 голосов
/ 13 июля 2010

Это предупреждение говорит о том, что ваш веб-сервер не настроен для отправки правильных метаданных MIME-типа для изображений PNG.Возможно, вам следует проконсультироваться с администратором вашего веб-сервера и попросить их установить правильное отображение MIME

2 голосов
/ 28 февраля 2013

Конечно выше решения идеально. Просто чтобы избежать предупреждений и для чистой консоли я сделал следующие изменения в своем коде. (это тоже только для 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();
              }
         }
    }
}

И добавил обработчик Http в web.config под system.web

<system.web>
 <httpHandlers>
 <add path="*.png" verb="*" type="PNGHandler" />
 </httpHandlers>
</system.web>
0 голосов
/ 28 января 2015

Я решил эту проблему, включив Статическое содержимое в Панель управления > Программы и компоненты > Включение или отключение функций Windows > Компоненты IIS > Службы всемирной паутины > Общие функции HTTP

0 голосов
/ 09 августа 2013

Самый быстрый способ обойти спам, который я нашел, - использовать клавишу CTRL, чтобы выбрать Ошибки, Предупреждения и Отладка вместо всех.

Все: enter image description here

Ошибки,Предупреждения и отладка: enter image description here

...