0

ページのIE10で作業しています。その中でいくつかの画像を使用しています。一部の画像に誤った画像タイプが含まれていました (元の画像タイプは「png」ですが、拡張子は「jpg」です)。偽の画像は IE10 で壊れていました (ただし、Firefox では表示されます)。javascriptを使用して元の画像タイプを見つけて、画像拡張子を回避し、IE10で表示するにはどうすればよいですか?

のようなコードが必要です

   var imgEle = document.createElement('img');
   imgEle.src = "imagePath/imageName."+findImageType("imagePath/imageName.jpg");

    function findImageType(imagUrl)
    {
      //do stuff
      return imageType;
    }

出来ますか?そうでない場合、元の画像タイプを見つける方法は何ですか?

4

2 に答える 2

1

そのために(XMLHttpRequestを介して)HTTP HEADリクエストを使用できると思います。

その方法で画像の MIME タイプを取得できるので、実際のタイプを確認できるはずです。

于 2013-04-08T08:14:38.057 に答える
0

この SO の質問からの deokman の回答と adam の組み合わせを使用します。

Javascript/AjaxでのHTTP HEADリクエスト?

画像を持つサーバーに特定の HEAD リクエストを送信する関数を作成し、getResponseHeader("content-type"). 画像をリクエストしているサーバーが content-type を正しく計算する (つまり、拡張子に基づかない) 場合、これが 1 つの方法になります。

もう 1 つの方法は、各ファイルのヘッダーを実際に分析して (バイナリ データの最初の数バイトを読み取る) サーバー側スクリプトを作成して画像の種類を判断し、これを ajax 経由で再度呼び出すことです。

ただし、どちらの方法でも発生する問題は、画像を表示する前に拡張子を変更する必要があり、これが存在しないファイルを指すことです。したがって、問題を解決する最善の方法は、最初にファイルの名前を正しい拡張子に変更することです。

于 2013-04-08T08:15:50.833 に答える