Asp.net MVC 生成zip并下载
前面有生成Excel或Word的示例,所以就不再重新写了。
这里只提供将指定文件以ZIP的方式下载。
创建一个 Zip工具类
public class ZIPCompressUtil
{
public static byte[] Zip(List<string> AllFilesPath)
{
try
{
if (AllFilesPath.Count > )
{
MemoryStream ms = new MemoryStream();
byte[] buffer = null; using (ZipFile file = ZipFile.Create(ms))
{
file.BeginUpdate();
file.NameTransform = new MyNameTransfom();
//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。 for (int i = ; i < AllFilesPath.Count; i++)
{
string strFile = AllFilesPath[i];
file.Add(strFile);
} file.CommitUpdate(); buffer = new byte[ms.Length];
ms.Position = ;
ms.Read(buffer, , buffer.Length);
}
return buffer; }
return null;
}
catch
{
return null;
} }
}
在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.net MVC 生成zip并下载的更多相关文章
- ASP.NET MVC应用程序实现下载功能
ASP.NET MVC应用程序实现下载功能 上次Insus.NET有在MVC应用程序实现了上传文件的功能<MVC应用程序显示上传的图片> http://www.cnblogs.com/in ...
- 多个文件下载打包生成zip格式下载
这个多个文件下载生成zip格式必须先引用一个ICSharpCode.SharpZipLib.dll. 代码如下 //将多个文件打包成压缩文件zip格式下载 protected voi ...
- ASP.Net MVC 生成安全验证码
---------html <td>验证码:</td> <td> <img src="/Logi ...
- ASP.NET MVC生成安全验证码
html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- (一)【转】asp.net mvc生成验证码
网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. ...
- ASP.NET网页生成EXCEL并下载(利用DataGrid或GridView等)
前几天要在后台查询数据库内容(用entity framework),将查询出来的信息(List或DataTable形式)转成EXCEL供用户下载.经过谷歌.百度搜索,终于搜出了一些代码.似乎可用了,结 ...
- Asp.net mvc生成验证码
1.生成验证码类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- Asp.net MVC 填充word并下载
使用Aspose.word填充内容并下载(免费版Aspose) 填充固定模式的Word文档,需要先制作Word模板: Aspose.Words主要通过Words里域(Fields)来控制内容. ...
- ASP.NET MVC 生成验证码
using System.Web.Mvc; using System.Drawing; using System; using System.Drawing.Imaging; using Models ...
随机推荐
- docker下编译mangoszero WOW60级服务端(一)
这几天看到暴雪准备开放怀旧服的新闻,突然想到几年前用大芒果window一键服务端自己搭建过服务,就想着在Linux环境下重新编译一套,毕竟Linux作为服务端,性能和稳定性都会高一些,于是在mac虚拟 ...
- Unity跨平台C/CPP动态库编译---可靠UDP网络库kcp基于CMake的各平台构建实践
1.为什么需要动态库 a)提供原生代码(native code)的支持,也叫原生插件,但是我实践的是c/cpp跨平台动态库,这里不具体涉及安卓平台java库和ios平台的objectc库构建. b)某 ...
- 深入理解CSS盒模型
如果你在面试的时候面试官让你谈谈对盒模型的理解,你是不是不知从何谈起.这种看似简单的题其实是最不好答的. 下面本文章将会从以下几个方面谈谈盒模型. 基本概念:标准模型 和IE模型 CSS如何设置这两种 ...
- 《 iPhone X ARKit Face Tracking 》
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文来自于腾讯Bugly公众号(weixinBugly), 作者:jennysluo,未经作者同意,请勿转载,原文地址:http://mp.w ...
- js的数组方法整理
slice 从已有的数组中返回选定的元素.该方法不会修改数组,而是返回一个子数组. 语法:arr.slice(start,end) start: 必须,规定从何处开始选取.如果是负数,就是从尾部开始算 ...
- Python StringIO与BytesIO、类文件对象
StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buff ...
- 总结HTML5的学习方法大汇总
html5学习方法之技能清单: 必须掌握基本的Web前端开收技术,其中包括:CSS.HTML.DOM.java.Ajax,jquery,Vue,jquery- mobile,zepto等,在掌握这些技 ...
- HTML Entity 字符实体
目录 1. HTML Entity 2. 字符与Entity Name的互相转换 3. 字符与Entity Number的互相转换 1. HTML Entity 1.1 介绍 在编写HTML页面时,需 ...
- Tomcat在修改代码后不会自动reload解决办法
1.找到使用的Tomcat安装目录conf配置文件夹下context.xml文件 2.找到<Context>节点,改为<Context reloadable="true&q ...
- 编译虚拟机jvm——openjdk的编译
java只所以被推广,实际上很大原因是因为本身是跨平台的,很大作用是因为虚拟机的关系. 一般情况下开发人员不需要关注虚拟机内部实现就可以日常开发了,但是有时候涉及到性能的时候就需要了解虚拟机的实现机制 ...