通过HttpHandler下载多个文件

时间:2013-06-08 12:18:57

标签: jquery asp.net webforms httphandler

在我的应用程序中,用户可以下载自己的文件(图像,pdf,word,...)。我使用HttpHandel来做它。开始选择文件并下载。我希望该用户可以从列表中下载所有文件。如何做这个? enter image description here

 public void ProcessRequest(HttpContext context) {

        HttpResponse response = context.Response;
        string cururl = context.Request.Url.ToString();
        int iqs = context.Request.Url.ToString().IndexOf('?');
        string querystring = (iqs < cururl.Length - 1) ? cururl.Substring(iqs + 1) : String.Empty;
        NameValueCollection parameters = HttpUtility.ParseQueryString(querystring);
        byte[] result = GetstreamForDownload(parameters);
        string fileId = context.Request.QueryString["fileId"];
        response.AddHeader("Content-disposition", "attachment; filename=" + GetFileName(parameters));
        response.ContentType = "application/octet-stream";
        response.BinaryWrite(result);

}

1 个答案:

答案 0 :(得分:0)

GetstreamForDownload()包含您选择的某些键值对时,parameters方法应返回所有文件,例如在Zip存档中,例如?folderId=123&allFiles=true