当前位置:编程学习 > C#/ASP.NET >>

asp.net B/S模式下的文件打包下载

  我现在能实现单个的文件下载,我现在想实现的是在一个gridview里面有复选框栏 当我把复选框里面的勾打上的时候 我能把选中的文件全部下载到临时建的文件夹里面 然后打包(压缩)下载到本地。求高人指导 最好有源代码 注释详细点 不胜感激 分不多,当也代表我的你的感激!! 谢谢了 --------------------编程问答--------------------


 MemoryStream ms = new MemoryStream();
            byte[] buffer = null;

            using (ZipFile file = ZipFile.Create(ms))
            {
                file.BeginUpdate();
                file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。


                file.Add(Server.MapPath("~/images/1.jpg"));
                file.Add(Server.MapPath("~/images/2.jpg"));
                file.Add(Server.MapPath("~/images/3.jpg"));
                
                file.CommitUpdate();

                buffer = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(buffer, 0, buffer.Length);
            }


            Response.AddHeader("content-disposition", "attachment;filename=Test.zip");
            Response.BinaryWrite(buffer);
            Response.Flush();
            Response.End();
 
另外,我专门写了一个NameTransfom
    public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform {

        #region INameTransform 成员

        public string TransformDirectory(string name)
        {
            return null;
        }

        public string TransformFile(string name)
        {
            return Path.GetFileName(name);
        }

        #endregion
    }

--------------------编程问答-------------------- 怎么 就一个人顶 高人都去那了!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,