テキストファイルのダウンロードについて

[上に] [前に] [次に]
GAN 2000/06/05(月) 10:56:35
GANです。いつもお世話になっております。

テキストファイルを保存する方法について悩んでいます。
タブ区切りでテキストをクライアントにダウンロードできるようにしたいのですが、
ダウンロードを行おうとするとブラウザに作成されたテキストが表示されてしまいます。
CSVファイルとしてダウンロードを行う場合はうまく出来ます。

********** サンプルソース(CSVファイルのダウンロード) **********
<%
Response.AddHeader "Content-Disposition", "attachment; filename=test.xls"
Response.ContentType = "Application/Vnd.MS-Excel"
Response.Buffer = True

For cnt = 1 To 10
  Response.Write(cnt & vbTab)
  Response.Write("aaa" & vbTab)
  Response.Write("bbb" & vbTab)
  Response.Write("ccc" & vbNewLine)
Next
%>
********** サンプルソース ここまで **********

このソースでは、test.xlsというファイルをダウンロードできますが、
Response.AddHeaderメソッドのfilenameをtest.txtにした場合に困っています。

どなたか、お力を貸していただけないでしょうか?

チャチャ入れ 2000/06/05(月) 12:03:39
いま試しているブラウザは、IE4ではないでしょうか?
IE5だとinlineで指定しないと駄目みたいですから。

たぶん、ネットスケープでは保存ダイアログが表示されると思います。

じゃあ、IEの場合はどうすりゃいいのか。
答えは残念ながら分かりません。IEって勝手にファイル種類を判断
して自分で開こうとしちゃうのよね。
すなわち、IEのバグと言えるのでは?
・・・
探したら、MSがバグだと言ってました。(下記)
http://support.microsoft.com/support/kb/articles/q182/3/15.asp

GAN 2000/06/06(火) 08:56:37
チャチャ入れさん、ご指導ありがとうございます。

IEの場合には、勝手にファイル種類を判断してしまうとのことですが、
それについて私も調べてみました。
それにより、拡張子の関連付けを変更することで対応できることが分かりました。
*.txtの関連付け設定で、内容の種類(MIME)を指定しないという方法なんですが、
これをスクリプトで変更できるのならば、問題はないと思うのですが・・・・。

テキストを保存する直前に現在のMIME設定を変更し、
保存が終わった後に設定を元に戻すという方法を考えています。

このようなことは、実際に可能なのでしょうか?

2000/06/06(火) 10:16:18
ブラウザの設定を勝手に変更できたら大変なことになるにょ

[上に] [前に] [次に]