ASP.NETでDataSetのデータをXML形式ファイルにして、クライアントに
ダウンロードしたいのですが、
DataSetをXMLにするWriteXmlメソッドでは第一引数
出力ファイル名または出力ストリームを指定する必要があります。
この時にダイアログ等で指定するダウンロード先ファイル名を
指定する術、または他のやり方がわかりません。
DataSet1.WriteXml( ???, XmlWriteMode.WriteSchema)
ASP.NETの経験は全く無いので、当てずっぽうですが、
少なくともASPの場合は、XMLデータをクライアントに渡すときに、
Dim RS 'As ADODB.Recordset
:
RS.Save Response, adPersistXML
ですとか、
Dim xDoc 'As FreeThreadedDOMDocument40
:
xDoc.Save Response
のように、Responseオブジェクトにストリームとして吐き出す事が多いです。
なので、おそらくASP.NETの場合も、出力先のストリームとして、
HttpResponse.OutputStream あたりを WriteXmlメソッドに渡すのでは
ないでしょうか。
で、ダウンロードさせる時のファイル名は、HTTP応答ヘッダの
Content-Dispositionで指定すればOKです。RFC 2183ですね。
ASPの場合は、
Response.ContentType = MIMEタイプの指定
Response.AddHeader "Content-Disposition", "attachment; filename="
などと書きます。おそらくASP.NETも同様に、
Response.ContentType = MIMEタイプの指定
Response.AddHeader("Content-Disposition","attachment;filename=" & FileName)
と書けるのでは無いでしょうか。
今、ASP.NETの開発環境で無いので、
確認出来ませんが、情報をありがとうございます。>魔界の仮面弁士さん
ツイート | ![]() |