asp.net2.0下 如何实现服务器端压缩包自解压

作者:凯旋网络来源:凯旋网络
asp.net2.0下,如何实现服务器端压缩包自解压
using System;
using System.Data;
using System.Configuration;
using System.Web;
Www^Chinaz^com

using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
Chinaz

using System.IO;
using System.IO.Compression;

/// <summary> Chinaz_com
/// ZipUtility 的摘要说明
/// </summary>

public class ZipUtility
{ Chinaz~com
    
public ZipUtility()
    
{
Chinaz@com

        
//
        
// TODO: 在此处添加构造函数逻辑
        
//
    }


    
public static void Compress(Stream source, Stream destination)
Www_Chinaz_com

    
{ [中国站长站]

        
using (GZipStream output = new GZipStream(destination, CompressionMode.Compress))
        
{ Chinaz

            Pump(source, output);

        }


    }


Chinaz~com

    
public static void Decompress(Stream source, Stream destination)
    
{
Chinaz_com


        
using (GZipStream input = new GZipStream(source, CompressionMode.Decompress))
        
{ Chinaz~com

            Pump(input, destination);

        }


    }


Chinaz@com



    
private static void Pump(Stream input, Stream output)
    
{ 中.国.站长站

        
byte[] bytes = new byte[4096];

        
int n;
Chinaz_com
        
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();

    }

  • 广告推荐