asp.net2.0, how to implement the server-side compression packet self-extracting 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>
Summary description of Ziputility
</summary>
public class Ziputility
{
Public ziputility ()
{
//
TODO: Add constructor logic here
//
}
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);
}
}
}
Simple application:
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 ();
}