简单易用!asp.net用DotNetZip压缩文件,Ionic.Zip.dll下载
作者:admin 时间:2022-8-24 12:45:42 浏览:在本文中,我们将通过示例和示例代码探讨如何使用 C# 在 ASP.NET 中创建 Zip 文件。
在本文示例中,会使用到Ionic.Zip.dll
,本文将提供该文件的下载,用户下载后放到网站的bin目录下即可直接使用。
DotNetZip 介绍
首先说明的是,DotNetZip
是一个小型、易于使用的类库,用于处理 .zip
文件。它可以启用以 VB.NET、C# 或任何 .NET 语言编写的 .NET 应用程序,以轻松创建、读取和更新 zip 文件。使用 DotNetZip
可以轻松进行 Zip 压缩。
DotNetZip
打包为单个 DLL,即为 Ionic.Zip.dll
,大小约为 400k。它没有第三方依赖项。它是中等信任,因此可以在大多数主机上使用。仅通过引用 DLL 来获取压缩。
适用条件
该Ionic.Zip.dll
文件适用.NET 2.0以上版本。
命名空间
我们将需要使用以下命名空间。
using System.IO;
using Ionic.Zip;
多个实例(C#)
压缩单个文件
string filePath = Server.MapPath("Report.doc");//文件所在位置
using (Ionic.Zip.ZipFile zf = new Ionic.Zip.ZipFile())
{
//zf.AddFile(filePath, "files"); //"files"是压缩文件存放的文件夹名称,会自动生成
zf.AddFile(filePath, "");
zf.Save(Server.MapPath("Report.rar"));//文件保存的地址
}
压缩多个文件
using (ZipFile zip = new ZipFile("MyZipFile.zip")
{
zip.AddFile("c:\\images\\personal\\7440-N49th.png");
zip.AddFile("c:\\Desktop\\2008-Regional-Sales-Report.pdf");
zip.AddFile("ReadMe.txt");
zip.Save();
}
压缩并下载
string filePath = Server.MapPath("Report.doc");//文件所在位置
var fs = Response.OutputStream;
using (Ionic.Zip.ZipFile zf = new Ionic.Zip.ZipFile())
{
//zf.AddFile(filePath, "files"); //"files"是压缩文件存放的文件夹名称,会自动生成
zf.AddFile(filePath, ""); // 第二个参数是文件夹名称,留空表示当前位置
zf.Save(fs);//保存到输出流
}
string fileName = "Report.rar"; //下载显示的文件名字
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.Flush();
Response.End();
压缩文件夹,适合压缩多个文件
string pathname = Server.MapPath("~/files/");
string[] filename = Directory.GetFiles(pathname);
using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile())
{
zip.AddFiles(filename, "files");
zip.Save(Server.MapPath("~/files.rar"));
}
解压
string zipToUnpack = Server.MapPath("~/files.zip"); // 不能解压rar文件
string unpackDirectory = Server.MapPath("~/files/");
using (ZipFile zip1 = ZipFile.Read(zipToUnpack))
{
foreach (ZipEntry ex in zip1)
{
ex.Extract(unpackDirectory, ExtractExistingFileAction.OverwriteSilently);
}
}
遗憾的是,该DLL不能解压rar文件,它只能解压zip文件,不过它却能把文件压缩为rar文件。
总结
本文介绍了asp.net如何使用DotNetZip Ionic.Zip.dll
压缩文件,该方法代码简单易用,推荐使用。
如果你不想引用第三方类库来压缩文件,那么如果你使用的是.NET4.5版本以上,你可以用ZipArchive、ZipFile等类来实现压缩和解压。
Ionic.Zip.dll 文件下载
标签: 压缩文件 Ionic.Zip.dll asp.net
- 站长推荐