首页 > 代码库 > c# 实现文件批量压缩
c# 实现文件批量压缩
今天改一个网站的功能,网站提供一些微信的素材,每个页面对应一套素材,如果会员一张一张下载,那么网站交互性就有点太差了。所以修改的内容就是提供一个按钮,点击按钮将这套图片和网站信息进行打包下载。
思路:
首先是按格式生成网站信息,然后遍历目录找到所有素材,将这些文件打包,并使用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<String> zip.AddFiles(files, "files"); zip.Save(Response.OutputStream); } Response.Close();}
c# 实现文件批量压缩
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。