少し前に写真をアップロードするための小さなプログラムを作成しましたが、今日誰かがjpg写真をアップロードできないと言いました。ローカルの Chrome と Firefox でテストしたところ、問題はなく、アップロードは正常であることがわかりました。使っているブラウザを聞いたら、Window of the World で、360 だった…恥ずかしかったです。 IEの問題なのでしょうか?そこで IE でテストしてみたのですが、案の定、動作しませんでした。本来の手順は以下の通りです
リーリー後でグーグルで調べたところ、確かにIEではjpg形式の画像にいくつかの違いがあることがわかりました。
IEでjpg画像をアップロードし、次のようにアップロードしたファイルの情報を印刷します:
リーリーjpg 形式の画像の Mimetype は image/pjpeg です。開発時にChromeまたはFirefoxを使用しているため、判定時にimage/pjpegが付加されないため、IEベースのブラウザではjpg形式の画像を認識できません。
以下は、さまざまなブラウザーでの画像の形式の比較です:
リーリー写真をアップロードするとき、IE は jpg と jpeg を image/pjpeg に変換し、png を image/x-png に変換します。 Firefox は非常に標準的です。jpg と jpeg は image/jpeg に変換され、png は image/png に変換されます。
プログラムをこれに変更すればOKです。
れーれー