Internet Explorer が画像を「image/jpeg」ではなく「application/jpeg」として報告する

Internet Explorer が画像を「image/jpeg」ではなく「application/jpeg」として報告する

複数のマシンのうち 1 台で、Internet Explorer 11 の Web フォームからアップロードされた画像の MIME タイプが、他のすべてのマシン、または同じマシン上の Chrome や Firefox のように「image/....」ではなく「application/....」と誤って報告されるケースがあります。これは、「image/...」 MIME タイプのみのアップロードを許可する Web アプリケーションに支障をきたします。

最初は、ファイルに関連付けられたアプリケーションが原因かもしれないと考えましたが、これを変更しても変化はありませんでした。他に試したこととしては、マシンの再起動と、ブラウザの設定のリセットです。

このマシンは Windows 7 を使用していますが、おそらく他のリリースでもこの問題が発生することがあります。

これを標準の MIME タイプに変更する方法と、そもそもこれが何を引き起こしたのかについて、何かアイデアをお持ちの方はいらっしゃいますか?

答え1

最近、この問題が発生しました。原因は、Autodesk Pixlr がレジストリ HKLM\SOFTWARE\Classes.jpg 内の文字列値コンテンツ タイプを「image/jpeg」から「application/jpeg」に上書きしたことでした。

Autodesk Pixlr をアンインストールしましたが、image/* に復元されるのではなく、コンテンツ タイプの値が削除されました。

Regshot を使用して、Autodesk Pixlr のインストール前とインストール後のレジストリを比較しました。変更されたエントリを以下のように特定しました。

HKLM\SOFTWARE\Classes.bmp\コンテンツ タイプ: "application/bmp" HKLM\SOFTWARE\Classes.gif\コンテンツ タイプ: "application/gif" HKLM\SOFTWARE\Classes.jpeg\コンテンツ タイプ: "application/jpeg" HKLM\SOFTWARE\Classes.jpg\コンテンツ タイプ: "application/jpg" HKLM\SOFTWARE\Classes.png\コンテンツ タイプ: "application/png" HKLM\SOFTWARE\Classes.tif\コンテンツ タイプ: "application/tif" HKLM\SOFTWARE\Classes.tiff\コンテンツ タイプ: "application/tiff"

そこで再度アンインストールし、レジストリをバックアップして、以下の正しいエントリを作成しました。

HKLM\SOFTWARE\Classes.bmp\コンテンツ タイプ: "image/bmp" HKLM\SOFTWARE\Classes.gif\コンテンツ タイプ: "image/gif" HKLM\SOFTWARE\Classes.jpeg\コンテンツ タイプ: "image/jpeg" HKLM\SOFTWARE\Classes.jpg\コンテンツ タイプ: "image/jpeg" HKLM\SOFTWARE\Classes.png\コンテンツ タイプ: "image/png" HKLM\SOFTWARE\Classes.tif\コンテンツ タイプ: "image/tiff"
HKLM\SOFTWARE\Classes.tiff\コンテンツ タイプ: "image/tiff"

これにより問題は解決しました。

関連情報