IEでのおかしな現象 | 晩御飯

IEでのおかしな現象

IE6.0でおかしな現象に遭遇・・・


CGIからPDFを作成し、それを表示するプログラムの仕様変更をした時のことです。


入力フォームの情報を取得してPDFファイルを生成して表示させていたのですが、

前任者は情報の渡し方を『GET』にしていました。

※URLの後ろに「?ID=123&date=20060227」みたいに付く形式ね


で、今回の仕様変更は画像を指定して追加したいとのことだったので、フォームの

最後に画像ファイルを指定するように追加したわけです。

※つまり、URLの後ろに「?ID=123&date=20060227&image=abcd.png」の様になる


で、テストを行ったのですが、QuickTimeのファイル破損のアイコンが表示されるばかり・・・


むむむ・・・


1時間経過・・・


なにが悪いのか一向に判らない


PDFだというヘッダーも書き出してるし、プログラムのバグも見つからない

通りかかった同僚に相談。やはり判らない・・・

Firefox、OperaではPDFが表示されるのに・・・


もしかして・・・・


画像ファイルの指定を拡張子抜きにして、プログラム中で「.png」を追加するように変更

してみた。


テスト実行・・・ PDFとして開きましたよ(´・ω・`)


IEはURLの末尾の拡張子でMINEを決めてるのか (`□´) くわ~



PDF表示のヘッダー

print "Content-Type: application/pdf\n";
print "Content-Length: " . length($buf) . "\n";
print "Content-Disposition: inline; filename=" . "filename.pdf" . "\n\n";