asp.net2.0下,如何实现服务器端压缩包自解压
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.IO.Compression;

/**//// <summary>
/// ZipUtility 的摘要说明
/// </summary>
public class ZipUtility

{
public ZipUtility()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void Compress(Stream source, Stream destination)
{
using (GZipStream output = new GZipStream(destination, CompressionMode.Compress))
{
Pump(source, output);
}
}


public static void Decompress(Stream source, Stream destination)
{
using (GZipStream input = new GZipStream(source, CompressionMode.Decompress))
{
Pump(input, destination);
}
}


private static void Pump(Stream input, Stream output)
{
byte[] bytes = new byte[4096];
int n;
while ((n = input.Read(bytes, 0, bytes.Length)) != 0)
{
output.Write(bytes, 0, n);
}
}
}
简单应用:
protected void Button1_Click(object sender, EventArgs e)
{
FileStream fs=File.OpenWrite("d:/Data.txt");
Stream c=this.FileUpload1.PostedFile.InputStream;
ZipUtility.Decompress(c, fs);
fs.Close();
c.Close();
}
本文介绍了一个ASP.NET 2.0环境下实现服务器端文件压缩及自解压的方法。通过使用GZipStream进行压缩与解压缩操作,文章提供了具体的C#代码示例,展示了如何将上传的文件压缩并保存为自解压格式。
7154

被折叠的 条评论
为什么被折叠?



