Asp.Net Zip ve Unzip İşlemleri 1 – Zip’li Dosya Yükleme ve Açma

Asp.net ile sıkıştırılmış dosyalar üzerinde işlem yapabilmek için SharpZipLib kütüphanesini kullanacağız nasıl kullanıldığını anlatmadan önce buradan dosyamızı indiriyoruz, SharpZipLib kütüphanesi ile artık projelerimizde Zip, GZip, Tar ve BZip2 dosyalarımız üzerinde işlemler yapabiliriz. Hemen ilk örneğimize başlayalım ilk olarak sıkıştırılmış bir dosya açma işlemi ile ilgili bir örnek yapalım. Projenin çalışan halini konu sonundan indirebilirsiniz..
ilk olarak projemize ICSharpCode.SharpZipLib.dll dosyasını referans olarak ekliyoruz, bunun için projemizin üzerinde solution Explorer bölümünde sağ tıklayıp Add Reference tıklayıp Browse bölümünden ICSharpCode.SharpZipLib.dll dosyasını seçiyoruz.
zip
Sayfamıza birer tane FileUpload,Label ve Button ekliyoruz. Yüklenen ve açılan dosyalar için iki tane klasör oluşturuyoruz.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Aspnetornekleri.com Dosya Yükleme ve Açma</title>
</head>
<body>
    <form id="form1" runat="server">
   <div>
       <asp:FileUpload ID="FileUpload1" runat="server" />
       <asp:Button ID="Button1" runat="server" Text="Yükle ve Aç" />
    <br />
       <asp:Label ID="Label1" runat="server"></asp:Label>
</div>
    </form>
</body><!-- www.aspnetornekleri.com -->
</html>

using System.IO;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip; namespacelerini projemize ekleyerek kodlarımızın düzgün bir şekilde çalışmasını sağlıyoruz.
Yükle butonu için yazacağımız kodlar

 if (FileUpload1.HasFile)
            {
                string yuklenendosya = Path.GetFileName(FileUpload1.PostedFile.FileName);
                FileUpload1.PostedFile.SaveAs(Server.MapPath("zipli") + "/" + yuklenendosya);
                FileInfo dosyabilgileri = new FileInfo(Server.MapPath("zipli") + "/" + yuklenendosya);
                long dosyaboyut = dosyabilgileri.Length;
                long dosyakackb = dosyabilgileri.Length / 1024;
                FastZip archiveFile = new FastZip();
                archiveFile.ExtractZip(Server.MapPath("zipli") + "/" + yuklenendosya, Server.MapPath("ac"), "");
               Label1.Text = "Dosya Yükleme ve Açma İşlemi Başarılı...<br />";
               Label1.Text += "Dosya Adı: " + yuklenendosya + "<br />";
               Label1.Text += "Boyutu:" + dosyakackb.ToString() + "KB <br />";
            }

dosya açma işlemini yapan koldarımız

 FastZip archiveFile = new FastZip();
                archiveFile.ExtractZip(Server.MapPath("zipli") + "/" + yuklenendosya, Server.MapPath("ac"), "");
//yüklenen dosya ve açılacak olan klasörü belirtiyoruz..

ve Sonuç..:
zipliyukleac

Zip Yükle ve Aç Projesini İndir