Passer au contenu du pied de page
UTILISER IRONZIP

Comment Décompresser Des Fichiers Dans .NET Core

1. Introduction

"Décompresser" décrit le processus consistant à prendre des fichiers et des dossiers hors d'une archive ZIP et à les décompresser. "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. Nous pouvons ajouter divers types de fichiers dans des fichiers zip comme des images, des fichiers TXT, etc.

Les utilisateurs peuvent récupérer le contenu d'une archive ZIP via une décompression, qui est le processus d'inversion du processus de compression. Accéder à des fichiers individuels ou à des dossiers qui ont été regroupés pour un transfert, un stockage ou un partage plus efficace est une utilisation courante. Une fois la procédure de "décompression" terminée, les fichiers retrouvent leur structure d'origine et peuvent être lus, modifiés ou utilisés selon les besoins par l'utilisateur. Dans cet article, nous allons décompresser des fichiers dans l'Asp.net core en utilisant la bibliothèque d'archives IronZIP.

2. Dans Asp.net Core, Résumé de Décompression de Fichier

  1. Créez un nouveau projet Asp.net Core.
  2. Installez la bibliothèque IronZIP dans le projet créé.
  3. Pour décompresser un fichier, instanciez la classe IronArchive.
  4. Le fichier ZIP peut être extrait en utilisant la fonction ExtractArchiveToDirectory.
  5. Spécifiez le fichier cible où le fichier décompressé doit être extrait.

3. Bibliothèque IronZIP

Iron Software a créé la bibliothèque .NET IronZIP, qui facilite la gestion des fichiers ZIP dans les applications .NET. Elle offre aux programmeurs des outils et des fonctionnalités leur permettant d'interagir avec ZIP de diverses manières. Cela inclut la création, l'extraction, la compression, la décompression, le cryptage et la modification de fichiers et de répertoires à l'intérieur des fichiers ZIP.

3.1 Fonctionnalités de IronZIP

  • Création de fichier ZIP : La capacité pour les applications .NET de produire des archives ZIP entièrement nouvelles dès le début.
  • Extraction et Décompression : La capacité de supprimer des fichiers et répertoires de paquets ZIP déjà existants et de décompresser le contenu.
  • Compression : Fournit des outils pour réduire la taille des fichiers et des dossiers en archives ZIP pour les rendre plus petits pour le transport ou le stockage.
  • Protection par mot de passe et cryptage : Pour protéger le contenu des archives ZIP, cette fonctionnalité offre la possibilité d'appliquer une protection par mot de passe et de crypter les fichiers ZIP.
  • Manipulation de fichiers : Cela permet aux programmeurs d'ajouter, supprimer, mettre à jour ou autrement travailler avec les fichiers et répertoires à l'intérieur des paquets ZIP.
  • Compatibilité : Conçu pour fonctionner dans divers environnements .NET, compatible avec plusieurs itérations du framework.
  • Optimisation des performances : Conçu pour maximiser la vitesse afin que les programmes .NET puissent gérer des fichiers ou des ensembles de données ZIP volumineux plus efficacement.

Lors de la gestion des fichiers ZIP pour leurs applications, les développeurs peuvent trouver IronZIP un outil utile. Dans le cadre du framework .NET, il offre une variété de fonctionnalités pour travailler avec les archives ZIP par programmation, offrant simplicité et flexibilité.

Pour les informations les plus récentes sur les fonctionnalités, capacités, compatibilité et toute nouvelle fonctionnalité incluse dans les versions ultérieures, consultez la documentation officielle, les notes de version ou le site web de IronZIP, car les bibliothèques logicielles sont mises à jour et améliorées au fil du temps. Pour en savoir plus, cliquez ici.

3.2 Création d'un Nouveau Projet dans Visual Studio

Sélectionnez l'option Fichier après avoir lancé le programme Visual Studio. Choisissez "nouveau projet" puis "Asp.Net core Web App".

Dans la zone de texte concernée, tapez le nom du projet et choisissez l'emplacement du fichier. Ensuite, cliquez sur le bouton Créer et sélectionnez la version nécessaire de .NET Framework.

L'application choisie sera maintenant générée par le projet Visual Studio. Dans ce cas, ASP.NET MVC est utilisé. Par conséquent, nous avons deux options : soit utiliser le contrôleur actuel, qui vous permet d'ajouter du code et de construire/lancer l'application, soit en créer un nouveau.

La bibliothèque peut ensuite être ajoutée, et le code testé.

4. Téléchargement du Package IronZIP

4.1 Utilisation de Visual Studio

Vous pouvez installer des packages directement dans votre solution à l'aide de la fonction Gestionnaire de Paquets NuGet de Visual Studio. Vous pouvez utiliser instantané ci-dessous pour accéder au Gestionnaire de Paquets NuGet.

Comment Décompresser des Fichiers dans .NET Core : Figure 1 - Comment Accéder au Gestionnaire de Paquets NuGet

Il offre une boîte de recherche qui ouvre une liste de paquets du site web NuGet. La capture d'écran ci-dessous nous montre où chercher la phrase "IronZIP" dans le gestionnaire de paquets.

Comment Décompresser des Fichiers dans .NET Core : Figure 2 - Recherche de IronZIP dans le Gestionnaire de Paquets NuGet

Dans l'image ci-dessus, une liste de termes de recherche pertinents est affichée. La sélection de l'option requise est nécessaire pour installer le package de solution.

4.2 Utilisation de la ligne de commande de Visual Studio

Dans Visual Studio, choisissez Outils > Gestionnaire de Paquets NuGet pour voir la console du Gestionnaire de Paquets.

Mettez la ligne suivante dans l'onglet du terminal du gestionnaire de paquets :

Install-Package IronZip

Après avoir été téléchargé et installé dans le projet actif, le package est prêt à être utilisé.

4.3 Téléchargement direct depuis le site web de NuGet

En utilisant la troisième manière, on peut obtenir le package NuGet directement depuis le site web.

Allez-y pour ouvrir le lien.

Sélectionnez l'option de téléchargement de package dans le menu à droite.

Double-cliquez sur le package une fois téléchargé. Il s'installera tout seul.

Chargez à nouveau la solution et commencez à l'utiliser dans le projet.

4.4 Téléchargement direct depuis le site Web d'IronZIP

Cliquez sur ce lien pour obtenir le dernier package directement depuis le site web Une fois téléchargé, suivez les procédures accompagnantes pour ajouter le package au projet.

  • Sélectionnez le projet avec un clic droit depuis la fenêtre de solution.
  • Sélectionnez la référence et parcourez son emplacement une fois téléchargé.
  • Cliquez sur OK ensuite pour ajouter la référence.

4.5 Décompresser les Fichiers dans le Asp.net core

Vous devrez fournir le nom de fichier et le lieu de destination où vous souhaitez extraire le fichier pour utiliser IronZIP en C# afin d'extraire un fichier spécifique d'une archive ZIP.

Exemple de code ici :

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
$vbLabelText   $csharpLabel

Dans le code ci-dessus, assurez-vous que l'espace de noms IronZIP est importé. Inclus dans la classe IronZipArchive de IronZIP est la fonction ExtractArchiveToDirectory. Ceci nous permet de passer deux paramètres : le système de fichiers source et le chemin du fichier à décompresser. Les fichiers zip ZIPArchive peuvent avoir un nombre quelconque de contenus, et le contenu peut être extrait en utilisant celui-ci et enregistré dans un répertoire spécifié par le fichier. Le chemin du répertoire, qui est utilisé comme point d'extraction pour le contenu du fichier ZIP unique, est le seul paramètre requis par la méthode ExtractArchiveToDirectory.

Pour extraire tous les fichiers dans le répertoire désigné, cette fonction parcourt en interne tous les fichiers et répertoires à l'intérieur du package ZIP. Lorsqu'une exception survient, comme lorsque le fichier ZIP est manquant ou qu'il y a des problèmes avec la procédure d'extraction, assurez-vous de la gérer soigneusement. Les exceptions peuvent être capturées et gérées à l'aide de blocs try-catch. Pour les activités d'extraction de masse, la méthode ExtractArchiveToDirectory facilite l'extraction en gérant l'extraction de tous les fichiers et répertoires au sein de l'archive ZIP. Les fichiers zip peuvent être créés avec l'aide de la méthode d'extension IronZIP.

Pour en savoir plus sur la bibliothèque IronZIP, cliquez ici.

5. Conclusion

Les développeurs peuvent gérer la compression, l'extraction et la manipulation de fichiers ZIP avec l'aide de IronZIP, une bibliothèque .NET spécialement conçue pour gérer les fichiers ZIP dans les applications C#. En rationalisant les procédures complexes et en rendant les opérations sur fichiers comme l'extraction de fichiers particuliers, l'extraction de fichiers en masse, l'ajout d'entrées et la modification des archives existantes plus simple, IronZIP utilise une API intuitive.

Avec cette bibliothèque, les développeurs peuvent améliorer les capacités de gestion des fichiers sans avoir à repartir de zéro dans les projets C#. Elle s'intègre sans effort. Grâce à sa flexibilité, le contenu ZIP peut être modifié dynamiquement, avec les fichiers étant ajoutés, modifiés et supprimés pour répondre à une variété de besoins d'application.

Lorsqu'ils traitent des situations comme des fichiers ZIP manquants ou endommagés, les solides fonctionnalités de gestion des exceptions d'IronZIP garantissent un flux de travail cohérent et facilitent la résolution des erreurs. Bien qu'IronZIP ait historiquement offert une solution fiable pour gérer les fichiers ZIP dans les environnements .NET, notez que ma compréhension peut ne pas refléter les mises à niveau les plus récentes. Le prix de IronZIP commence à $799 et est livré avec une version développeur gratuite. Pour en savoir plus sur la licence, nous pouvons consulter ici. Pour le produit logiciel Iron, consultez ici.

Questions Fréquemment Posées

Comment puis-je décompresser des fichiers dans ASP.NET Core?

Vous pouvez décompresser des fichiers dans ASP.NET Core en utilisant la bibliothèque IronZIP. Tout d'abord, installez IronZIP via le gestionnaire de packages NuGet dans Visual Studio, puis utilisez la classe IronArchive et la méthode ExtractArchiveToDirectory pour extraire des fichiers d'une archive ZIP vers un répertoire spécifié.

Quelles sont les principales fonctionnalités d'IronZIP pour gérer les fichiers ZIP?

IronZIP offre plusieurs fonctionnalités pour gérer les fichiers ZIP, y compris la création, l'extraction, la compression, le chiffrement et la manipulation des fichiers ZIP. Il prend en charge la protection par mot de passe et est optimisé pour la performance, compatible avec divers frameworks .NET.

Comment installer IronZIP dans un projet C#?

Pour installer IronZIP dans un projet C#, utilisez le gestionnaire de packages NuGet dans Visual Studio. Recherchez 'IronZIP' et installez-le. Alternativement, utilisez la console du gestionnaire de packages avec la commande Install-Package IronZIP.

IronZIP peut-il être utilisé pour chiffrer des fichiers ZIP?

Oui, IronZIP peut chiffrer des fichiers ZIP. Il inclut des outils pour la protection par mot de passe et le chiffrement, garantissant la sécurité du contenu des archives ZIP.

Que dois-je faire si je rencontre des erreurs lors de l'extraction de fichiers ZIP dans ASP.NET Core?

Si vous rencontrez des erreurs lors de l'extraction de fichiers ZIP, utilisez les fonctionnalités de gestion des exceptions d'IronZIP. Implémentez des blocs try-catch pour gérer les exceptions telles que les fichiers ZIP manquants ou corrompus.

Existe-t-il une version gratuite d'IronZIP disponible pour les développeurs?

Oui, IronZIP offre une version gratuite pour les développeurs qui vous permet d'explorer ses fonctionnalités sans aucun coût initial, en plus de ses licences payantes.

Pourquoi devrais-je utiliser IronZIP pour gérer les fichiers ZIP dans mes projets ASP.NET Core?

IronZIP simplifie la gestion des fichiers ZIP dans les projets ASP.NET Core en offrant une API intuitive pour créer, extraire et modifier des archives ZIP, améliorant les capacités de gestion des fichiers.

Comment IronZIP gère-t-il l'extraction des fichiers ZIP?

IronZIP gère l'extraction des fichiers ZIP en utilisant la méthode ExtractArchiveToDirectory, qui extrait tous les fichiers et répertoires d'une archive ZIP vers un chemin de répertoire spécifié, gérant efficacement chaque élément dans le paquet ZIP.

Quel est le processus de création d'un nouveau projet ASP.NET Core à utiliser avec IronZIP?

Pour créer un nouveau projet ASP.NET Core à utiliser avec IronZIP, configurez un nouveau projet dans Visual Studio, installez IronZIP via NuGet, et implémentez la classe IronArchive pour gérer les fichiers ZIP avec des méthodes comme ExtractArchiveToDirectory.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite