.NET Core'da Dosyalar Nasıl Çıkartılır
1. Tanıtım
"Unzip", ZIP arşivinden dosya ve klasörleri çıkarma ve sıkıştırmayı açma sürecini tanımlar. "Unzip" refers to the process of recovering compressed files or directories back to their original condition, so that they can be accessed and used again after being compressed into a ZIP file. Görüntüler, TXT dosyaları gibi çeşitli türde dosyaları ZIP dosyalarına ekleyebiliriz.
Kullanıcılar, sıkıştırma işlemini tersine çevirme süreci olan sıkıştırmayı açarak bir ZIP arşivinin içeriğini geri alabilirler. Daha etkili bir iletim, depolama veya paylaşım için bir araya toplanmış olan bireysel dosya veya klasörlere erişmek popüler bir kullanımdır. "Unzip" prosedürü tamamlandıktan sonra, dosyalar orijinal yapısına sahip olur ve kullanıcı tarafından gerektiği şekilde okunabilir, değiştirilebilir veya kullanılabilir. Bu makalede, IronZIP Archive Library kullanarak Asp.net core'da dosyaları sıkıştırmayı açacağız.
2. Asp.net Core'da Dosya Sıkıştırma Özeti
- Yeni bir Asp.net Core projesi oluşturun.
- Oluşturulan projeye IronZIP kütüphanesini yükleyin.
- Bir dosyayı sıkıştırmayı açmak için
IronArchivesınıfını başlatın. - ZIP dosyası
ExtractArchiveToDirectoryfonksiyonu kullanılarak çıkarılabilir. - Sıkıştırmayı açtığınız dosyanın çıkarılması gereken hedef dosyayı belirleyin.
3. IronZIP Library
Iron Software, .NET uygulamalarında ZIP dosyalarını daha kolay ele almayı ve yönetmeyi sağlayan IronZIP adlı .NET kütüphanesini oluşturdu. Programcılara ZIP ile çeşitli şekillerde etkileşim kurmaları için araçlar ve özellikler sunar. Bu özellikler, ZIP dosyaları içinde dosya ve dizinleri oluşturma, çıkarma, sıkıştırma, sıkıştırmayı açma, şifreleme ve değiştirmeyi içerir.
3.1 IronZIP'in Özellikleri
- ZIP Dosyası Oluşturma: .NET uygulamalarının baştan yeni ZIP arşivleri üretme yeteneği.
- Çıkarma ve Sıkıştırmayı Açma: Mevcut ZIP paketlerinden dosya ve dizinleri kaldırma ve içeriği sıkıştırmayı açma kapasitesi.
- Sıkıştırma: Dosya ve klasörleri taşıma veya depolama için daha küçük hale getirmek amacıyla ZIP arşivlerine dönüştürmek için araçlar sunar.
- Parola koruması ve şifreleme: ZIP arşivlerinin içeriğini korumak için parola koruması uygulama ve ZIP dosyalarını şifreleme yeteneği sunar.
- Dosya manipülasyonu: Bu, programcılara ZIP paketleri içindeki dosyaları ve dizinleri ekleme, kaldırma, güncelleme veya başka şekilde çalışma imkanı tanır.
- Uyumluluk: Çeşitli .NET ortamlarında çalışacak şekilde tasarlanmıştır ve çerçevenin çeşitli iterasyonlarıyla uyumludur.
- Performans Optimizasyonu: .NET programlarının büyük ZIP dosyalarını veya veri setlerini daha etkili bir şekilde yönetebilmesi amacıyla hız optimizasyonuna yönelik olarak hedeflenmiştir.
Geliştiriciler, uygulamaları için ZIP dosyalarını yönetirken IronZIP'i faydalı bir araç olarak görebilir. .NET çerçevesi içinde ZIP arşivleri ile programlı bir şekilde çalışmak için basitlik ve esneklik sunarak çeşitli özellikler sağlar.
Yazılım kütüphaneleri zamanla güncellenip geliştirildiği için, en son özellikler, yetenekler, uyumluluk ve daha sonraki sürümlerde eklenen yeni fonksiyonlar hakkında resmi belgeler, sürüm notları veya IronZIP web sitesine bakın. Daha fazla bilgi için, buraya tıklayın.
3.2 Visual Studio'da Yeni Proje Oluşturmak
Visual Studio programını başlattıktan sonra Dosya seçeneğini seçin. "Yeni proje" ve ardından "Asp.Net core Web App" seçeneğini seçin.
İlgili metin kutusuna proje adını yazın ve dosya konumunu seçin. Ardından, Oluştur düğmesine tıklayın ve gerekli .NET Framework sürümünü seçin.
Seçilen uygulamanın yapısı, Visual Studio projesi tarafından şimdi üretilecektir. Bu durumda, ASP.NET MVC kullanılıyor. Bu nedenle, iki seçeneğimiz var: ya mevcut denetleyiciyi kullanarak kodu ekler ve uygulamayı derleyip çalıştırırız, ya da yeni bir tane oluştururuz.
Kütüphane ardından eklenebilir ve kod test edilebilir.
4. IronZIP Paketi İndir
4.1 Visual Studio'yu Kullanarak
Visual Studio'nun NuGet Paket Yöneticisi özelliğini kullanarak doğrudan çözümünüze paketler yükleyebilirsiniz. NuGet Paket Yöneticisi'ne erişmek için aşağıdaki anlık görüntüyü kullanabilirsiniz.

NuGet web sitesi paket listesini açan bir arama kutusu sağlar. Aşağıdaki ekran görüntüsü, paket yöneticisinde 'IronZIP' ifadesini nerede arayacağımızı gösterir.

Yukarıdaki resimde, ilgili arama terimleri listelenmiştir. Çözüm paketini yüklemek için gerekli seçeneği seçmek gereklidir.
4.2 Visual Studio Komut Satırını Kullanarak
Visual Studio'da, Araçlar > NuGet Paket Yöneticisi'ni seçerek Paket Yöneticisi Konsolu'nu görebilirsiniz.
Paket yöneticisinin terminal sekmesine aşağıdaki satırı koyun:
Install-Package IronZip
Paket indirildikten ve aktif projeye kurulduktan sonra kullanıma hazırdır.
4.3 NuGet web sitesinden doğrudan indirme
Üçüncü yöntemi kullanarak, NuGet paketini doğrudan web sitesinden alabilirsiniz.
Linki açmak için oraya gidin.
Menünün sağından indirme paketi seçeneğini seçin.
Paket indirildikten sonra üzerine çift tıklayın. Kendi başına kuracaktır.
Çözümü yeniden yükleyin ve projede kullanmaya başlayın.
4.4 IronZIP web sitesinden doğrudan indirme
En son paketi web sitesinden doğrudan elde etmek için bu bağlantıya tıklayın. İndirildikten sonra, paketi projeye eklemek için uygulanan prosedürleri izleyin.
- Çözüm penceresindeki projeye sağ tıklayın.
- Referansı seçin ve indirildiği konumu gözden geçirin.
- Referansı eklemek için ardından Tamam'a tıklayın.
4.5 Asp.net core'da Dosyaları Açın
IronZIP'i kullanarak bir ZIP arşivinden belirli bir dosyayı çıkarmak için, dosya adını ve çıkarmak istediğiniz hedef konumu C#'ta sağlamanız gerekecek.
Kod örneği burada:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public IActionResult OnPost()
{
try
{
// Retrieve the uploaded file from the form
var file = Request.Form.Files[0];
// Set the file path where the file will be saved
string filepath = @"C:\temp\uploads\";
// Save the uploaded file to the specified filepath
using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
{
file.CopyToAsync(stream);
}
// Extract the ZIP archive to the specified directory
string extractfile = @"C:\temp\extracted";
IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch (Exception ex)
{
// Handle exception and redirect to Error page
_logger.LogError(ex, "An error occurred while extracting the ZIP file.");
return RedirectToAction("Error");
}
return RedirectToAction("Get");
}
}
}
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public IActionResult OnPost()
{
try
{
// Retrieve the uploaded file from the form
var file = Request.Form.Files[0];
// Set the file path where the file will be saved
string filepath = @"C:\temp\uploads\";
// Save the uploaded file to the specified filepath
using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
{
file.CopyToAsync(stream);
}
// Extract the ZIP archive to the specified directory
string extractfile = @"C:\temp\extracted";
IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch (Exception ex)
{
// Handle exception and redirect to Error page
_logger.LogError(ex, "An error occurred while extracting the ZIP file.");
return RedirectToAction("Error");
}
return RedirectToAction("Get");
}
}
}
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Imports IronZip
Namespace IronPDF_WebApp.Pages
Public Class IndexModel
Inherits PageModel
Private ReadOnly _logger As ILogger(Of IndexModel)
Public Sub New(ByVal logger As ILogger(Of IndexModel))
_logger = logger
End Sub
Public Function OnPost() As IActionResult
Try
' Retrieve the uploaded file from the form
Dim file = Request.Form.Files(0)
' Set the file path where the file will be saved
Dim filepath As String = "C:\temp\uploads\"
' Save the uploaded file to the specified filepath
Using stream = New FileStream(filepath & file.FileName, FileMode.Create)
file.CopyToAsync(stream)
End Using
' Extract the ZIP archive to the specified directory
Dim extractfile As String = "C:\temp\extracted"
IronZipArchive.ExtractArchiveToDirectory(filepath & file.FileName, extractfile)
Catch ex As Exception
' Handle exception and redirect to Error page
_logger.LogError(ex, "An error occurred while extracting the ZIP file.")
Return RedirectToAction("Error")
End Try
Return RedirectToAction("Get")
End Function
End Class
End Namespace
Yukarıdaki kodda, IronZIP ad alanının içe aktarıldığından emin olun. IronZIP'in IronZipArchive sınıfında ExtractArchiveToDirectory fonksiyonu bulunmaktadır. Bu, kaynak dosya sistemi ve açılacak dosyanın yolunu belirtmemizi sağlar. ZIPArchive ZIP dosyalarının herhangi bir sayıda içeriği olabilir ve bu içeriği kullanarak bir dosya belirtilen dizine çıkarabilir. ExtractArchiveToDirectory yöntemi tarafından gereken tek parametre, tek bir ZIP dosyasının içeriği için çıkarma noktası olarak kullanılan dizin yoludur.
Bu işlev, belirlenen dizine tüm dosyaları çıkarmak için ZIP paketindeki tüm dosya ve dizinlerde döngü yapar. Bir istisna oluştuğunda, örneğin ZIP dosyası eksik olduğunda veya çıkarma prosedürüyle ilgili sorunlar mevcut olduğunda, dikkatlice ele aldığınızdan emin olun. İstisnalar try-catch blokları kullanılarak yakalanabilir ve işlenebilir. Yığın çıkarma işlemleri için, ExtractArchiveToDirectory yöntemi, ZIP arşivindeki tüm dosya ve dizinlerin çıkarılmasını yöneterek çıkarma işlemlerini kolaylaştırır. ZIP dosyaları, IronZIP uzantı yöntemi ile oluşturulabilir.
IronZIP kütüphanesi hakkında daha fazla bilgi okumak için buraya tıklayın.
5. Sonuc
Geliştiriciler, C# uygulamalarında ZIP dosyalarını yönetmek için tasarlanmış bir .NET kütüphanesi olan IronZIP'in yardımıyla ZIP dosyalarının sıkıştırma, çıkarma ve manipülasyonunu yapabilir. IronZIP, belirli dosyaları çıkarma, dosyaları toplu olarak çıkarma, girişler ekleme ve mevcut arşivleri düzenleme gibi dosya işlemlerini daha basit hale getirerek karmaşık prosedürleri düzenler ve sezgisel bir API kullanır.
Bu kütüphane, C# projelerinde dosya yönetimi yeteneklerini baştan başlamak zorunda kalmadan geliştirmeye olanak tanır. Kolayca entegre olur. Çok yönlülüğü sayesinde, ZIP içeriği dinamik olarak değiştirilebilir, uygulama gereksinimlerinin çeşitliliğine uyacak şekilde dosyalar eklenir, değiştirilir ve kaldırılır.
Eksik veya hasarlı ZIP dosyaları gibi durumlarla uğraşırken, IronZIP'in güçlü istisna yönetim özellikleri, tutarlı bir iş akışı sağlar ve hata giderimini kolaylaştırır. Tarihsel olarak, .NET ortamlarında ZIP dosyalarını yönetmek için güvenilir bir çözüm sunmuş IronZIP, bilgilendirmemin en son güncellemeleri yansıtmayabileceğine dikkat edin. IronZIP'in fiyatlandırması $799 ile başlar ve ücretsiz bir geliştirici sürümü ile birlikte gelir. Lisans hakkında daha fazla bilgi almak için buraya bakabiliriz. Iron software ürünü için buraya bakın.
Sıkça Sorulan Sorular
ASP.NET Core'da dosyaları nasıl çıkarabilirim?
ASP.NET Core'da dosyaları çıkarmak için IronZIP kütüphanesini kullanabilirsiniz. İlk önce, Visual Studio'da NuGet Paket Yöneticisi üzerinden IronZIP'i yükleyin, sonra bir ZIP arşivinden belirtilen bir dizine dosyaları çıkarmak için IronArchive sınıfı ve ExtractArchiveToDirectory yöntemi kullanın.
IronZIP'in ZIP dosyalarını yönetmedeki ana özellikleri nelerdir?
IronZIP, ZIP dosyalarını yönetmek için birkaç özellik sunar, bu özellikler arasında oluşturma, çıkarma, sıkıştırma, şifreleme ve ZIP dosyalarını manipüle etme bulunur. Parola korumasını destekler ve performans için optimize edilmiş olup, çeşitli .NET çerçeveleri ile uyumludur.
Bir C# projesine IronZIP nasıl yüklenir?
Bir C# projesine IronZIP yüklemek için, Visual Studio'da NuGet İnsanı Kullanarak 'IronZIP' araştırın ve yükleyin. Alternatif olarak, Paket Yöneticisi Konsolu ile Install-Package IronZIP komutunu kullanın.
IronZIP, ZIP dosyalarını şifrelemek için kullanılabilir mi?
Evet, IronZIP ZIP dosyalarını şifreleyebilir. ZIP arşivlerinin içeriğinin güvenliğini sağlamak için parola koruma ve şifreleme araçlarını içerir.
ASP.NET Core'da ZIP dosya çıkarımı sırasında hatalarla karşılaşırsam ne yapmalıyım?
ZIP dosya çıkarımı sırasında hatalarla karşılaşırsanız, IronZIP'in istisna yönetim özelliklerini kullanın. Varsayılan zip dosyası olmadığı veya bozuk olması gibi istisnaları yönetmek için try-catch blokları uygulayın.
Geliştiriciler için IronZIP'in ücretsiz bir sürümü var mı?
Evet, IronZIP'in ücretli lisanslarının yanında, ilk maliyet olmadan özelliklerini keşfetmenizi sağlayan ücretsiz bir geliştirici sürümü sunmaktadır.
ASP.NET Core projelerimde ZIP dosyalarını yönetmek için neden IronZIP kullanmalıyım?
IronZIP, ASP.NET Core projelerinde ZIP dosya yönetimini, ZIP arşivlerini oluşturma, çıkartma ve değiştirme için sezgisel bir API sunarak, dosya yönetimi yeteneklerini arttırır.
IronZIP ZIP dosya çıkarımını nasıl yönetir?
IronZIP, ZIP arşiv içindeki tüm dosya ve dizinleri belirli bir dizin yoluna çıkartan ExtractArchiveToDirectory yöntemi aracılığıyla ZIP dosya çıkarımını yönetir, her unsuru verimli bir şekilde yönetir.
IronZIP ile ASP.NET Core'da kullanmak için yeni bir proje nasıl oluşturulur?
IronZIP ile kullanmak için yeni bir ASP.NET Core projesi oluşturmak amacıyla Visual Studio'da yeni bir proje kurun, NuGet üzerinden IronZIP'i yükleyin ve IronArchive sınıfını yöntemler gibi kullanarak ZIP dosyalarını yönetmek için uygulayın ExtractArchiveToDirectory.




