出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

動的なデータファイルのダウンロード   あおすけさん [2001/10/25 11:44:00] [797]
  Re:動的なデータファイルのダウンロード   Tomitomiさん [2001/10/25 13:10:32] [798]
  Re:動的なデータファイルのダウンロード   北岳さん [2001/10/25 15:53:29] [804]
    発言者により削除されました!! Tomitomiさん [2001/10/25 16:15:56] [806]
    Re:動的なデータファイルのダウンロード   Tomitomiさん [2001/10/25 16:17:59] [807]
      Re:動的なデータファイルのダウンロード   北岳さん [2001/10/25 17:24:17] [809]
  Re:動的なデータファイルのダウンロード(御礼)   あおすけさん [2001/10/25 22:43:42] [812]

[797] 動的なデータファイルのダウンロード
投稿者:あおすけさん 2001/10/25 11:44:00
皆さん初めまして。
どうやったら実現できるのか思い付かず、皆さんの知恵をお借りできれば幸いです。

例えば下記のようなページを表示するとWebブラウザでダウンロードするダイアログ
が表示されますが、その際に保存するファイル名はスクリプトのファイル名(dltest
.asp)になります。これを別のファイル名で予め表示させる事は可能でしょうか?
(例えば data.csv など)
いちいち入力するのもなんですし、ファイル名自体も動的に変化させたいとも思っ
ています。
Aタグを使ったリンク、Redirect、JavaScriptなどを使用しても構いませんので、
何か良い方法はありませんでしょうか?(ただし、ネスケ、IE、共に動作させたい)
なお、一旦ファイルを生成してから…というのは避けたいと思っています。
よろしくお願いします。

<%
'
' dltest.asp
'
Response.Buffer = True
'Response.ContentType = "application/binary"
'Response.ContentType = "text/plain"
Response.ContentType = "text/csv"
Response.Write Date & ","
Response.Write Time & vbCRLF
%>

[798] Re:動的なデータファイルのダウンロード
投稿者:Tomitomiさん 2001/10/25 13:10:32
こんにちは、Tomitomiです。
昨日はよく寝たので今日は調子がいいです。


> 例えば下記のようなページを表示するとWebブラウザでダウンロードするダイアログ
> が表示されますが、その際に保存するファイル名はスクリプトのファイル名(dltest
> .asp)になります。これを別のファイル名で予め表示させる事は可能でしょうか?
> (例えば data.csv など)

可能です。以下を参考にしてください。

Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition","attachment; filename=XXX.csv"

> いちいち入力するのもなんですし、ファイル名自体も動的に変化させたいとも思っ
> ています。


ファイル名をパラメータで送る場合として。


Response.AddHeader "Content-Disposition","attachment; filename=XXX.csv"
の「filename=XXX.csv」の部分を
Response.AddHeader "Content-Disposition","attachment; filename=" & Request("FileName")

などという形にしてみてください。
ではでは。

[804] Re:動的なデータファイルのダウンロード
投稿者:北岳さん 2001/10/25 15:53:29
実質2問と捉えますと、2問目が超難問のよう・・・
------------
◎1問目【ダウンロードさせるファイルに実体がある場合】
>別のファイル名で予め表示させる事は可能でしょうか?(例えば data.csv など)
>いちいち入力するのもなんですし、ファイル名自体も動的に変化させたいとも思っています。

例:名前を動的に変化させた一時ファイルをその都度サーバに作り、ブラウザに送りだしたら(1日後にでも)削除する
これなら、TMITOMIさんの方法でOKのはずです。
-------------

◎2問目【ダウンロードさせるファイルに実体がない場合】
>なお、一旦ファイルを生成してから…というのは避けたいと思っています。

ブラウザに表示したASPの中身をユーザに(ファイル名指定で)保存させたい。
多分できないと思いますが、わかりません。
ただし、WEB上には拡張子がaspの頁がたくさんあって、自分が保管したいときは、IEで「名前をつけて保存」すれば保管できますから、
ユーザにもそうして貰えば、話は簡単ですが。

[806] Re:動的なデータファイルのダウンロード
投稿者:Tomitomiさん 2001/10/25 16:15:56
発言者により削除されました!!

[807] Re:動的なデータファイルのダウンロード
投稿者:Tomitomiさん 2001/10/25 16:17:59
こんにちは、Tomitomiです。

> ◎2問目【ダウンロードさせるファイルに実体がない場合】
> >なお、一旦ファイルを生成してから…というのは避けたいと思っています。
>
> ブラウザに表示したASPの中身をユーザに(ファイル名指定で)保存させたい。
> 多分できないと思いますが、わかりません。
> ただし、WEB上には拡張子がaspの頁がたくさんあって、自分が保管したいときは、IEで「名前をつけて保存」すれば保管できますから、
> ユーザにもそうして貰えば、話は簡単ですが。

すいません。さっきのはテストしていなかったのですが、
今テストしてみたら、実体がなくてもできるようです。
以下のASPを、適当なファイル名で実行してみてください。

<%
'
' dltest.asp
'
Response.Buffer = True
'Response.ContentType = "application/binary"
'Response.ContentType = "text/plain"
Response.ContentType = "text/csv"
'これを追加した。ファイル名は「test.csv」になるはず。
Response.AddHeader "Content-Disposition","attachment; filename=test.csv"
Response.Write Date & ","
Response.Write Time & vbCRLF
%>

[809] Re:動的なデータファイルのダウンロード
投稿者:北岳さん 2001/10/25 17:24:17
> > 多分できないと思いますが、わかりません。
 
> 今テストしてみたら、実体がなくてもできるようです。
> 以下のASPを、適当なファイル名で実行してみてください。
 
あ、ほんとだ!
ブラウザは実体もお化けも区別しないのでしたか。
これなら簡単で、いい!

[812] Re:動的なデータファイルのダウンロード(御礼)
投稿者:あおすけさん 2001/10/25 22:43:42
Tomitomiさん、北岳さん、ありがとうございました!!!!!
AddHeaderなるものがあったとは知りませんでした(勉強不足)。
これで解決できそうです。
「Webアプリケーション構築ガイドPhase1」を教科書代わりに
参考にしていましたが、解説されていなかったので無いものと
思っていました。これからはMSの難しいASPドキュメント
も参考にします。
#確かPhase2はブ厚かったような…



TreeBBS For ASP V.0.1.3
Program By YasNet