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";