asp.net2.0下 如何实现服务器端压缩包自解压
点击次数:30 次 发布日期:2008-11-21 22:29:10 作者:源代码网
|
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();![]() }![]() |








