質問に対する正確な答えは、あなたのレポートを組織していないかに依存します(つまり、あなたがに「オブジェクト」を参照しているされているもの)。文字列が1つの場合は、Response.Writeを使用してそれを書き込むことができます。 TextWriterが必要な場合は、Response.Outputが必要です。ディスクへの書き込みをスキップしてからWriteFileを使用することができます。また、コンテンツがバイナリである場合は、そのためにResponse.OutputStreamを使用できます。
ユーザーにファイルの保存ダイアログが表示されるようにする場合は、Response.AddHeader( "Content-Disposition"、 "attachment")を設定することもできます。しかし、Content-Dispositionは必ずしも受け入れられるわけではないので、ユーザーはブラウザで直接開いたレポートを取得することができます。実際のコンテンツを出力する前にヘッダーを設定することを忘れないでください!
また、レポートの形式によっては、Response.ContentTypeをtext/plain、text/csvなどの適切な値に設定することができます。正しいMIMEタイプはthe IANA siteにリストされています。あなたはこの
Response.ContentType = "text/plain";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt");
ようResponse.ContentTypeのを使用することができ
このコードは、ブラウザに書き込みを書き込みます。私はプロンプトを得ません。 IReport rpt =新しいContxReport(); 文字列レポート= rpt.makeReport();ASCIIEncoding encoding =新しいASCIIEncoding(); byte [] encodedReport = encoding.GetBytes(report); レスポンス。ContentType = "text/plain"; Response.OutputStream.Write(encodedReport、0、encodedReport.Length); Response.AddHeader( "Content-Disposition"、 "inline; filename = shit.csv"); Response.End(); – jim
また、書き込む前にすべてのヘッダーを設定する必要があります。 – Talljoe
***バッファ***とは何ですか? – Kiquenet