Несколько документов ASP.net C# для одного объекта ответа
Вопрос
У меня есть этот код
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 кнопки, чтобы получить 3 текстовых файла.Есть ли способ отправить все 3 в одном ответе?
Решение
Нет, многочастные вложения для загрузки (например, в электронных письмах) не поддерживаются по соображениям безопасности.Это называется «попутная загрузка».
Обратите внимание, что Gmail решает эту проблему путем динамического архивирования файлов.Вам тоже следует это сделать. http://forums.asp.net/t/1240811.aspx
Другие советы
Это можно сделать согласно статье «Загрузка нескольких файлов одним http-запросом» на сайте motobit.com.
Однако протокол HTTP разработан не так, и выполнение этих шагов может привести к сбою в любой момент в зависимости от конфигурации клиента и сервера.