2015年5月8日金曜日

ASP.NET 複数ファイルをdownloadする方法

ASP.NETのWeb Formで複数のファイルをdownloadする場合

通常は、1ファイルで Response.Writeと、Response.EndでOKですが
複数ファイルをdownloadする場合は、

            foreach (var rec in records) {


        // ストリームへエクスポート
                Stream stream = File.OpenWrite(Server.MapPath("~/excel/mdrReport_" + vFileCnt.ToString() + vFileName));
                BinaryWriter bw = new BinaryWriter(stream);
                bw.Write(pck.GetAsByteArray());
                bw.Close();

                vFileCnt++;
            }

            //javascriptでdownload
            //作成したxlsxファイルを表示する
            Response.Write("<script language=\"javascript\">");

            for (int i = 1; i < vFileCnt; i++) {
                Response.Write("window.open(\"http://localhost/test_mdr/excel/MdrReport_" + i.ToString() + vFileName + "\");");
            }
            Response.Write("</script>");

0 件のコメント:

コメントを投稿