PNG画像のChromeでのMIMEタイプの警告


115

私のサイトをChromeで実行したところ、驚いたことに、.png画像ごとに次の警告が表示されました。

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

誰かこれを見たことがある?

よろしく


これは私にも起こりますが、私の開発マシン上でのみです。説明を見つけたことがありますか?
BrianFinkel、

CassiniでMIMEタイプを変更する方法はありますか?web.configのセクションの<staticContent>設定を無視しているよう<system.webServer>です。
トラビス、

1
なぜ私は同じ問題に78票を投じることができないのですか?いつも遅すぎる...
スコットセルビー

2
ほぼ2½年遅れ; o)
Muleskinner、

Controlキーを押しながらエラー、デバッグ、警告のみを選択できることを発見しました。このようにして、デバッグ中にログがMIMEタイプのエラーで乱雑にならないようにしますが、それ以外はすべて表示されます。とても便利な。
デビルズアドボケイト

回答:


84

ASP.NET開発サーバーを使用してASP.NET WebFormsアプリを実行しているときに、この問題が発生しました。

サーバーとしてIIS Expressも使用している場合(VS 2010 SP1)でも、同様のことが起こると思います。

(Webで)プロジェクト設定を編集してローカルで問題を「解決」し、ローカルマシンでASP.NET開発サーバーからIISに変更しました。PNGが既に画像のMIMEタイプとして正しく定義されていることがわかります。実際、ローカルのIISサーバーにアクセスすると、正しいタイプのファイルが提供されています。


11
IIS Expressを使用すると、PNG画像にMIMEタイプの警告はありません。これは基本的に、よりポータブルな形式の標準IIS 7.5です(標準IISはPNGを提供するのに問題はありません)。新しいプロジェクトをスピンアップし、Cassini(開発サーバー)で警告を確認し、IIS Expressに設定して、警告が消えたことを確認しました。
パトリッジ

私が遭遇した奇妙なことは、MVC ASP.NET 4アプリケーションを作成し、Cassiniでpngファイルを正常にロードできることです。MVC ASP.NET 1アプリケーションを最大4にアップグレードしましたが、同じPNGファイルを使用するCassiniでこの問題が発生しました。何か案は?
MattB、2012年

1
@MattB-フレッシュなMVC4プロジェクトとアップグレードされた1つをテキストエディターで並べて、構成ファイル(csprojとweb.config)を比較することをお勧めします。私の最初の推測は、自動的にアップグレードされなかったアセンブリ参照または同様のものがあることです。それよりも複雑な場合は、新しい質問を開いて詳細を含めることをお勧めします。
Stefan Mohr

@StefanMohrご返信ありがとうございます。私は両方の比較をしました、そして、普通でないと思われるものに出くわしませんでした。私はcsprojとweb.configsの両方に必要な変更を加えて、新しく作成したASP.Net MVC 4プロジェクトと同じにすることさえしましたが、そのような運はありませんでした。最終的に、私は新しいプロジェクトを作成し、すべてを新しいプロジェクトに移植しました。
MattB

ウェブサイトはAzureでホストされており、コンソールをパッキングするこの厄介なエラーが発生します。
Shimmy Weitzhandler 2013

4

この警告は、PNG画像の正しいMIMEタイプのメタデータを送信するようにWebサーバーが設定されていないことを示しています。Webサーバーの管理者に相談して、正しいMIMEマッピングを設定するように依頼する必要があります。


3
@JimGあなたがWebサーバーの管理者であれば、おそらくWeb マスターの姉妹サイトで
Rowland Shaw

+1これは最も記述的で有用な答えです。なぜこれほど多くの投票が行われたのかはわかりません。
クリスパロット卿2013

@JimG。あなたが管理者である場合は、使用しているWebサーバーを言うか、サイトでWeb マスターを
Rowland Shaw

同意した、最も有用な答え。@JimGを理解できませんでした。反対票。
Anoyz 2013年

4

このようなタイプを.htaccess(AddType画像/タイプ拡張)に追加しました。

AddType image/png cur
AddType image/svg+xml svg svgz

2

もちろん、上記のソリューションは完璧です。警告を避け、コンソールをクリーンにするために、コードを変更した後、次のようにしました。(これもASP.NET開発サーバーの場合のみ)このための追加のハンドラーを作成しました。

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ハンドラを追加しました

<system.web>
 <httpHandlers>
 <add path="*.png" verb="*" type="PNGHandler" />
 </httpHandlers>
</system.web>

0

私が見つけたスパムを回避する最も簡単な方法は、CTRLキーを使用して、すべてではなくエラー、警告、デバッグを選択することです。

すべて: ここに画像の説明を入力してください

エラー、警告、デバッグ: ここに画像の説明を入力してください


0

I有効にすることによってこの問題を解決してきた静的コンテンツの中でコントロールパネル] > [ プログラムと機能 ]> [ Windowsの機能の有効化または無効化 ]> [ IISコンポーネント > のWorld Wide Webサービス ]> [ HTTP共通機能機能

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.