5

私はこのコードを持っています

private void writeReport(IReport report, string reportName)
{
    string reportString = report.makeReport();
    ASCIIEncoding encoding = new ASCIIEncoding();
    byte[] encodedReport = encoding.GetBytes(reportString);
    Response.ContentType = "text/plain";
    Response.AddHeader("Content-Disposition", "attachment;filename="+ reportName +".txt");
    Response.OutputStream.Write(encodedReport, 0, encodedReport.Length);
    Response.End();
}

しかし、クライアントに送信する必要のある3つのドキュメントがあります。ユーザーに3つのtxtファイルを取得するために3つのボタンをクリックさせる必要はありません。1つの応答で3つすべてを送信する方法はありますか?

4

2 に答える 2

6

いいえ、セキュリティ上の理由から、ダウンロード用のマルチパート添付ファイル(電子メールなど)はサポートされていません。これは「ドライブバイダウンロード」と呼ばれます。

Gmailは、ファイルを動的に圧縮することでこれを処理することに注意してください。あなたもすべき。http://forums.asp.net/t/1240811.aspx

于 2009-07-03T08:27:17.347 に答える
2

これは、 motobit.comの記事「Download multiple files in one http request」に従って行うことができます。

ただし、これは HTTP の設計方法ではなく、クライアントとサーバーの構成によっては、これらの手順に従うといつでも壊れる可能性があります。

于 2010-11-29T03:26:45.780 に答える