• ベストアンサー

ASPで抽出したデータをエディタで表示させる

手順 1.AAA.aspでbbb.aspへのリンクをクリック 2.bbb.aspでデータ抽出のスクリプトが実行され、テキストエディタが起動し、抽出したデータが表示される という処理を実現させたいのですが、どのようにしたらよいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • o84
  • ベストアンサー率31% (128/407)
回答No.2

すみません。 さきほどの答えに、誤解を生むところがありましたので、 もう少し詳しく書きます。ファイル書き出しにする、と 表現したのは間違いです。訂正いたします。 「Webサーバーは、ブラウザにファイルを返すときに、  ファイルに含まれているコンテンツの種類をブラウザに  知らせます。ブラウザはこの情報に基づいて、ファイルを  そのまま表示できるかどうか、またはほかのアプリケーション  を呼び出す必要があるかどうかを判断します。」 このコンテンツの種類を決めるのがコンテンツタイプです。 "text/HTML"で返すと、ブラウザが解析して表示します。 これが"text/plain"になると、ただのテキストになるわけです。 よって、aspからブラウザにテキストで返すには、 まずcontenttypeを"text/plain"にするわけです。 しかし、ふつうブラウザはtextを表示することができます。 これをブラウザに表示させるのではなく「ダウンロード」 の形にしたい場合、Content-Dispositionを使います。 「CGI プログラムなどから Content-Disposition ヘッダーを  使用すると、任意のファイル名で Internet Explorer に  ファイルをダウンロードさせることができます。」 上の二つをまとめた簡単なサンプルがこれです(↓)。 これだけ書いて、test.aspとでも名前をつけて実行してみてください。 <% Response.ContentType = "text/plain" Response.AddHeader "Content-Disposition", "attachment; filename=test.txt" Response.Write "HELLO WORLD!" %>

qaznet
質問者

お礼

をを!! すばらしい!! マジで助かりました。AddHeaderというメソッドはキャッシュに関することをするもんだとばっかり思ってました。 こんなときに使うんですね。 勉強になりました。

その他の回答 (1)

  • o84
  • ベストアンサー率31% (128/407)
回答No.1

それは、ASPのResponse先をブラウザにしないで、 ファイル書き出しにすればよいのです。 Fileのオブジェクトを作って書き出す、というのとは違います。 qaznetさんの書き方だと、ASPでテキストエディタを起動して、 そこに書き出したいかように見えますが、 そうではなくてResponseの書き出し先をtextにするわけで、 その結果テキストエディタが開くんですね。

関連するQ&A