• 締切済み

Content-type: を切り替える方法

cgi で、 print "Content-type: text/html\n\n"; で、テキストやINPUT タグ等を表示した後、  print "Content-type: image/jpg\n\n"; で、Content-type を切り替えて画像を表示させ たいのですが、画像イメージがどうもテキストと 認識されるらしく、文字化けのテキストがずらずらっと表示されます。  上の順序を逆にすると今度は画像は表示されるものの、テキスト、タグが表示されなくなります。 どう書けば、両方の表示に対応できるようになるでしょうか。

みんなの回答

  • betagamma
  • ベストアンサー率34% (195/558)
回答No.1

もしかして、Content-typeの意味を間違えてませんか? クライアント(ブラウザ)から、要求があった後、その返答の種別を書くのがContent-typeです。 一回Content-typeを出したら、それ以後の返答は、すべて、そのContent-typeの内容だと受け取られるようになっています。 yoinさんがなさりたいのは、おそらく、ホームページの画像を定期的に切り替える、とかその類のことではないでしょうか?であれば、普通のHTMLに、 <img src="http://xxx.yyy.com/cgi-bin/asdf.cgi?"> とcgiのアドレスを画像のソースとして組み込み、asdf.cgiの中で、 print "Content-type:image/jpg\n\n"; とすれば、HTMLとは別件でブラウザの方が自動的にasdf.cgiの方にアクセスしてきてくれるので、うまくいきます。

yoin
質問者

お礼

ありがとうございます。 よくわかりました。

関連するQ&A