0

現在、2つのコードサンプルがあります。データベースからテーブルを取得し、それをDataSetに配置してから、DataSetとXMLファイルをデスクトップに保存します。

もう1つのコードは、Webページからファイルを保存します。私がやりたいのは、これら2つのコード例を組み合わせて、インターネット経由でXMLファイルを保存できるようにすることです。

サンプルは次のとおりです。

SqlDataAdapter adapter = new SqlDataAdapter(query, connectionString);
            DataSet questionSet = new DataSet();
            adapter.Fill(questionSet, "Questions");

            questionSet.WriteXml("../../../../../Users/User/Desktop/MyTest");

これにより、テーブルがXMLドキュメントとして正常に保存され、デスクトップに保存されます。

ASP.NETを介してファイルを保存するためのMSDNのコードサンプル

System.String filename = "myFile.txt";

                   Response.ContentType = "text/xml";

                   // initialize the http content-disposition header to
                   // indicate a file attachment with the default filename
                   // "myFile.txt"
                   System.String disHeader = "Attachment; Filename=\"" + filename +
                      "\"";
                   Response.AppendHeader("Content-Disposition", disHeader);

                   // transfer the file byte-by-byte to the response object
                   System.IO.FileInfo fileToDownload = new
                      System.IO.FileInfo("C:\\downloadJSP\\DownloadConv\\myFile.txt");
                   Response.Flush();
                   Response.WriteFile(fileToDownload.FullName);}

これにより、ブラウザからファイルが正常に保存されます。

私が理解している限りでは.WriteXml、dataSetからファイルを作成しているようです。そのファイルを他のコードにスローし、.WriteXml代わりにファイルをダウンロードするようにブラウザに指示する方法はありますか?

このコードはすべて私には魔法のように見えますが、やはり.NETであり、ピクシーダストで知られています。

4

1 に答える 1

2

必要なのはこれだけだと思います:

questionSet.WriteXml(Response.OutputStream);

コンテンツ タイプを設定する必要はありますが、そのためにファイル システムをいじる必要はありません。

于 2012-05-02T04:26:59.530 に答える