博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 实现文件批量压缩
阅读量:5011 次
发布时间:2019-06-12

本文共 1327 字,大约阅读时间需要 4 分钟。

今天改一个网站的功能,网站提供一些微信的素材,每个页面对应一套素材,如果会员一张一张下载,那么网站交互性就有点太差了。所以修改的内容就是提供一个按钮,点击按钮将这套图片和网站信息进行打包下载。

思路:

首先是按格式生成网站信息,然后遍历目录找到所有素材,将这些文件打包,并使用response输出。
文件打包的实现是使用外部开源库DotNetZip

代码实现:

新建一个asp.net空白项目,新建一个页面,引用DotNetZip库下的Ionic.Zip.dll
在页面中引用Ionic.Zip命名空间

using Ionic.Zip;

批量压缩载的代码:

在Page_Load中加入

if (!Page.IsPostBack){    Response.Clear();    Response.BufferOutput = false;    string[] files = Directory.GetFiles(Server.MapPath("img/"));    //网站文件生成一个readme.txt文件    String readmeText = String.Format("README.TXT" +Environment.NewLine+                                "官方地址:http://shandongit.com"                                );    Response.ContentType = "application/zip";    Response.AddHeader("content-disposition", "inline; filename=\"" + String.Format("archive-{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss")) + "\"");    //批量压缩操作    using (ZipFile zip = new ZipFile())    {        // the Readme.txt file will not be password-protected.        zip.AddEntry("Readme.txt", readmeText, Encoding.Default);        zip.Password = "shandongit.com";        zip.Encryption = EncryptionAlgorithm.WinZipAes256;        // filesToInclude is a string[] or List
zip.AddFiles(files, "files"); zip.Save(Response.OutputStream); } Response.Close();}

转载于:https://www.cnblogs.com/imlions/p/3959541.html

你可能感兴趣的文章
前端开发工程师如何在2013年里提升自己【转】--2016已更新升级很多何去何从?...
查看>>
markdown语法测试集合
查看>>
running and coding
查看>>
实现QQ第三方登录、网站接入
查看>>
HTML CSS 层叠样式表 三
查看>>
Qt pro pri 文件学习1
查看>>
软件工程概论第六周学习进度条
查看>>
[思路]导入导出功能
查看>>
【iOS】UICollectionView自己定义Layout之蜂窝布局
查看>>
【以太坊钱包开发 一】MyEtherWallet 钱包开发项目概述
查看>>
golang——(strings包)常用字符串操作函数
查看>>
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
安装pandas报错(AttributeError: 'module' object has no attribute 'main')
查看>>
ch02 fundamental definition 01
查看>>
JSON解析
查看>>
Position is everything?(css定位学习的一些心得)(一)
查看>>
如何提高编程水平
查看>>
Jquery Uploadify3.21.与2.1版本 使用中存在的问题--记录三
查看>>