zoukankan      html  css  js  c++  java
  • Asp.net MVC 生成zip并下载

    前面有生成Excel或Word的示例,所以就不再重新写了。

    这里只提供将指定文件以ZIP的方式下载。

    创建一个 Zip工具类 

    public class ZIPCompressUtil
        {
            public static byte[] Zip(List<string> AllFilesPath)
            {
                try
                {
                    if (AllFilesPath.Count > 0)
                    {
                        MemoryStream ms = new MemoryStream();
                        byte[] buffer = null;
    
                        using (ZipFile file = ZipFile.Create(ms))
                        {
                            file.BeginUpdate();
                            file.NameTransform = new MyNameTransfom();
    //通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。  
    
                            for (int i = 0; i < AllFilesPath.Count; i++)
                            {
                                string strFile = AllFilesPath[i];
                                file.Add(strFile);
                            }
    
    
                            file.CommitUpdate();
    
                            buffer = new byte[ms.Length];
                            ms.Position = 0;
                            ms.Read(buffer, 0, buffer.Length);
                        }
                        return buffer;
                       
                    }
                    return null;
                }
                catch
                {
                    return null;
                }
    
            }
    }
    View Code

    在ActionResulit中调用Zip工具类。

    public ActionResult ExportZIP()
    {
       List<string> fileAll = new List<string>();
       //将所有文件所在的地址添加到fileAll中
       ...操作代码
    
       //调用ZIP工具类,将集合传递给它
       var buffer = ZIPCompressUtil.Zip(fileAll);
    
       Response.AppendHeader("content-disposition", "attachment;filename=名称.zip");
       Response.BinaryWrite(buffer);
       Response.Flush();
       Response.End();
    }    

    如果大家有什么好的想法,可以留言,我肯定会学习并实践好再拿出来分享。

    非常感谢。

    如果对您有帮助,请点赞!

    非常感谢您的耐心观看,您的关注是我最大的动力! 不积跬步无以至千里,不积小流无以成江海!
  • 相关阅读:
    将asp页面转换成htm页面的方法
    JavaScript 参考教程
    ASP六大对象介绍
    Asp组件初级入门与精通系列之二
    Asp组件初级入门与精通系列之三
    asp中防止脚本注入攻击
    Asp组件初级入门与精通系列之六
    取得select的option的text值
    用組件封裝數據庫操作(二)
    SQL注入天书ASP注入漏洞全接触
  • 原文地址:https://www.cnblogs.com/sheldon-blog/p/8086350.html
Copyright © 2011-2022 走看看