2003年10月12日

IEで画像が保存出来ない時

インターネットエクスプローラで画像に名前を付けて保存しようと思うと時々JPGやGIFファイルなのに無題.bmpとして保存されてしまうときがあります。
原因がいろいろとありますがメモ代わりにちょっと列挙してみようと思います。
  1. インターネットエクスプローラのキャッシュが壊れてる
    この場合どのサーバに行っても画像が保存できなくなります
    • 対策:IEのメニューで「ツール」→「インターネット オプション」→「インターネット一時ファイル」の「ファイルの削除」ボタンを押せばしばらくディスクがガリガリ言った後に直ります
  2. URLにBasic認証のユーザー名とパスワードを含めている
    この場合もなんかダメですね。
    • 対策:ユーザ名とパスワードはダイアログボックスから入力する。っていうか、セキュリティ的にはそうしないとダメですね(^^;
  3. サーバーがvaryヘッダーを送り返してくる
    このケースが一番悲惨で、素人さんはまず対策できません。
    • 対策1:「インターネット オプション」の「詳細設定」で「HTTP/1.1を使用する」のチェックを外す。(ただし他のサイトのブラウジングが遅くなるなど副作用があるので、終わったら元に戻します)
    • 対策2:Proxomitronなどでveryヘッダを亡き者とする。
      簡単に説明すると↓こんなのをcfgファイルのヘッダの項目に追加します。
      In = TRUE
      Out = FALSE
      Key = "Vary: IE Chach allow (in)"
      Match = "*"
    • 対策3:サーバ管理者に連絡してveryヘッダを送付するのをやめてもらう。
      というか、IEでキャッシュされないと言うことは閲覧するたびに全部のデータを送り直すことになるので、転送量がしゃれにならないことになります。結構mod_gzipを組み込んだときに誤爆で設定されていることも多そうなので教えてあげるのが親切かもしれません
    • 対策4:別のブラウザ(NetscapeOpera)を使う
    • 対策5:ダウンロード専用ソフト(IrvineNet Transportなど)を使う
  4. サーバーがCache-Control: no-cache ヘッダーやCache-Control: no-store ヘッダーを送り返してくる
    これは基本的に「保存するな」と相手がいっているのと一緒なのでこういうときはおとなしくあきらめましょう(^^;
    上の2番や4番・5番を使えば回避できたりしますが(^^;
まだもう一種類ぐらいダメなパターンが合った気がしますが、思い出せないのでひとまずこの辺で Posted by Takuchan at 2003年10月12日 00:26 | トラックバック(1)