私のサイトをchromeで実行したところ、驚いたことに、各.png画像に対して次の警告が表示されました。
Resource interpreted as image but transferred with MIME type application/octet-stream.
これを見た人はいますか?
よろしく
ASP.NET開発サーバーを使用してASP.NET WebFormsアプリを実行しているときにこれに遭遇しました。
IIS Expressをサーバーとしても使用すると同様のことが起こると思います(VS 2010 SP1)。
(Webの下で)プロジェクト設定を編集することで問題をローカルで「解決」し、ローカルマシンでASP.NET開発サーバーからIISに変更しました。PNGは既に正しく定義されていることがわかります。画像のMIMEタイプとして、実際にローカルのIISサーバーにアクセスすると、正しいタイプのファイルを提供しています。
このようなタイプを.htaccess(AddType image/type extensionion)に追加しました。
AddType image/png cur
AddType image/svg+xml svg svgz
この警告は、WebサーバーがPNG画像の正しいMIMEタイプのメタデータを送信するように設定されていないことを示しています。 Webサーバーの管理者に相談し、正しいMIMEマッピングを設定するよう依頼する必要があります。
もちろん、上記のソリューションは完璧です。警告を避けるため、そしてクリーンなコンソールのために、コードの変更を行った。 (それも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 Handlerを追加しました
<system.web>
<httpHandlers>
<add path="*.png" verb="*" type="PNGHandler" />
</httpHandlers>
</system.web>
コントロールパネルで静的コンテンツを有効にしてこの問題を解決しました> プログラムと機能>Windows機能をオンまたはオフにする>IISコンポーネント>World Wide Webサービス>一般的なHTTP機能
私が見つけたスパムを回避する最も簡単な方法は、Ctrlキーを使用して、すべてではなくエラー、警告、およびデバッグを選択することです。
すべて:
エラー、警告、デバッグ: