- PR -

テキストファイルをダウンロードしたい。

1
投稿者投稿内容
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-11-09 12:42
以前も同じような質問をさせて頂きましたが、ファイルのダウンロードに関してです。

CSV形式では、なんとか上手くいったのですが、拡張子がtxtの場合においてWebブラウザ上に表示されてしまいます。(ダウンロードダイアログboxが出ない)

MIMEも設定したのですが、設定ミスかどうかも分かりません。
どなたか、解決策をご存知の方がいらっしゃるなら助言ください。
txt形式では、ダウンロードはできないのでしょうか?
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-11-09 13:00
結論から言うと、txt形式でもダウンロードはできます。

とりあえず、CSV形式でうまくいった方のソースと、TXT形式でうまくいかない方のソースを、載っけて頂けませんか?
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-11-09 14:50
ほのぼのさん、ご返答ありがとうございました。

ソースを一部載せますので、見てくれますか?

CSVのケース
<%@ language="vbscript" %>
以下省略
<script type="text/javascript">
<!--
function DL_Start(){
location.href = "data.csv"
}
//
-->

以下、SQLでデータを取り出して、CSVファイルに書き込み。

<form method="POST" action="xxx.asp">
<input onClick="DL_Start()" type="button" value="download">
</form>

※CSVのケースでは、Response.ContentTypeとかは使用しないで、単にCSV形式でテキストを作成して、それをJavaScriptを使ってとってくるようにしています。(data.csvとして)

txt形式の場合
※拡張子をcsvからtxtにしただけでは、webブラウザに内容が表示されてしまいました。また、下記のように記載すると、

strAct = Request.Form("act")

If strAct = "go" then
response.contenttype = "text/plain" ←ここもいまいち分かりません。調べましたけど・・・。
response.addheader "content-disposition","filename=data.txt"
response.end
end if

以下、SQLからデータを取り出し、テキストファイルを作成する処理

<form method="post" action="xxx.asp">
<input type="submit" value="download">
<input type="hidden" name="act" value="go">
</form>

ASPのソースコードが表示されました。

こんな感じですが、いかがでしょうか?


ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-11-09 15:49
おっと、.NETの付かない方のASPでしたか(^^;
あんまり詳しくないですけど、多分

response.addheader "content-disposition","filename=data.txt"

これがいけない。

response.addheader "content-disposition","attachment; filename=data.txt"

としてみてください。

あとダウンロードに関しては、[ディレクトリ分類による検索]の
Web Application−ダウンロード のカテゴリがいろいろ参考になります。
1

スキルアップ/キャリアアップ(JOB@IT)