ASP.NET SharpZipLib İle Dosyaları Sıkıştırma Veya Çıkartma

.NET kütüphanesi olan SharpZipLib ile dosya sıkıştırma veya çıkartma işlemini göreceğiz isterseniz tek bir klasörü belirtip içerisindeki diğer tüm alt klasördekileride sıkıştırabilir veya filtreleyerek sıkıştırabilirisiniz.

ASP.NET SharpZipLib ile dosyaları sıkıştırma

SharpZipLib kütüphanesinin özellikleri sadece özet kısımda belitildiği gibi değildir isterseniz örneklerle açıklamaya çalışalım örneklere başlamadan öncede SharpZipLib kütüphanesini buradan indirebilirsiniz. SharpZipLib kütüphanesini indirdikten sonra dll dosyanızı projenize Reference(Referans) olarak eklemeniz gerekmektedir. Referans olarak ekledikten sonra projenizde kütüphaneye ait sınıfları, metodları v.b nesneleri kullanmak için namespace kısmına alltaki satırı eklemelisiniz.

Namespace

Örnek 1

Üstteki kodda FastZip sınıfından örnek alarak bu sınıfa ait CreateZip metoduyla zip dosyası oluşturuyoruz sırasıyla CreateZip metodunun istediği parametreler şu şekilde ilk parametrede isterseniz oluşturulacak dosyayı fiziksel olarak diske bir isim belirterek kaydedebilir istersenizde ram’de Stream olarak tutabilir ve işlemlerinizde kullanabilirsiniz ben burada fiziksel olarak ana dizine image-files.zip dosyası oluşturuyorum ikinci parametrede ise sıkıştırılacak dosyaların yer aldığı dizini belitriyoruz 3 parametrede ise alt dizinlerinde sıkıştırma işlemine tabi tutulup tutulmayacağı belitiliyor 4.parametrede ise sıkıştırma yapılırken filtreleme uygulanıp uygulanmayacağı belirtiliyor biz burada sadece .png dosyalarının sıkıştırılacağını ve tüm alt klasörlerde arama yapılıp sıkıştırılacağınıda 3.parametreye true değeri vererek image-files.zip dosyasını oluşturuyoruz.

Filterleme işleminde Regular Expression kullanılmaktadır sizde kendi Regex‘lerinini tanımlayarak sıkıştırılacak dosyalarınızı belirleyebilirsiniz vey filtreleme uygulanmayacak ise null değer girmelisiniz.

Diğer önemli bir nokta ise eğer üstteki kod’a ek olarak oluşturmak istediğiniz zipli dosyanın şifreli olarak indirilmesini istiyorsanız yapmanız gereken CreateZip metodundan önce alttaki kodu eklemelisiniz.

Örnek 2

Üstteki örneğimizde ExtractZip ile oluşturmuş olduğumuz image-files.zip dosyasını şimdide NewFolder adlı dizine çıkartıcağız 3.paramtereyede ise çıkartma yapılırken filtreleme uygulanacakmı yani buna şöyle örnek verebiliriz zipli dosya içerisinde bir çok formatta dosya olabilir ama biz filtrelemeye üstteki örnekte olduğu gibi png olarak belirtirsek zipli dosya içerisinde sadece png formatındakileri çıkart demiş oluruz. eğere çıkartma işlemi yapılan dosya şifreli ise o zaman 1.örneğimizdeki gibi ExtractZip metodundan önce zip.Password özelliğinde şifre belirtilmelidir.

İçeriği puanla diğer kullanıcılara ışık tut

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et