Greatings!загрузка нескольких файлов с помощью Ihttphandler
Я работаю над скриптом отчетности, который запускает несколько отчетов (pdf) при нажатии кнопки. Отчеты создаются на веб-сервере, тогда я хочу, чтобы пользователю была предоставлена возможность загрузить файлы. Я разработал сценарий для загрузки одного файла с сервера. Но я не уверен, как загрузить несколько файлов? (вероятно, будет около 50)
После запуска одного отчета я перенаправляю пользователя на скрипт обработчика http.
Response.Redirect("Download.ashx?ReportName=" + "WeeklySummary.pdf");
public class Download : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
StringBuilder sbSavePath = new StringBuilder();
sbSavePath.Append(DateTime.Now.Day);
sbSavePath.Append("-");
sbSavePath.Append(DateTime.Now.Month);
sbSavePath.Append("-");
sbSavePath.Append(DateTime.Now.Year);
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "application/pdf";
HttpResponse objResponce = context.Response;
String test = HttpContext.Current.Request.QueryString["ReportName"];
HttpContext.Current.Response.AppendHeader("content-disposition", "attachment; filename=" + test);
objResponce.WriteFile(context.Server.MapPath(@"Reports\" + sbSavePath + @"\" + test));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.End();
}
public bool IsReusable { get { return false; } }
}
Заранее благодарю вас, если вы хотите увидеть мой сценарий.
Я думал о том, чтобы просто рассылать загрузки HTTP Headler, но не был уверен, есть ли лучший способ сделать это или нет. Подумайте, я их задержу. Спасибо за ссылку! – flyersun