UTILISATION D'IRONZIP

.NET MAUI Data Extraction SDK with IronZIP

Chaknith Bin
Chaknith Bin
décembre 12, 2023
Partager:

Introduction

.NET MAUI, ou .NET Multi-platform App UI, est un cadre de développement d'applications multiplateformes. Il permet aux développeurs de créer des applications avec une base de code unique qui fonctionne sur Windows, macOS, iOS, Android, et ou tout autre appareil. Similaire à react native, mais fonctionne avec C# au lieu de JavaScript.

.NET MAUI permet aux développeurs C# de créer des applications mobiles et des applications de bureau sans problème, à partir d'un environnement unique. Microsoft .NET MAUI fournit une documentation et des ressources complètes pour aider les développeurs à faciliter et à optimiser le processus de développement d'applications.

Dans cet article, nous allons explorer l'intégration d'IronZIP, une puissante bibliothèque d'archives ZIP en C#, avec .NET MAUI à des fins d'extraction de données.

Comment extraire des données d'archives Zip

  1. Créer un projet MAUI de Visual Studio .NET

  2. Installation de la bibliothèque Zip C# à l'aide de NuGet

  3. Conception de l'interface de l'application d'extraction de données

  4. Implémentation des méthodes de création et d'extraction de fichiers Zip

  5. Exécuter l'application et vérifier les résultats

Introduction à IronZIP

IronZIP est une bibliothèque complète d'archives ZIP en C# conçue pour la création, la lecture et l'extraction d'archives dans .NET. Il prend en charge un large éventail de formats d'archives, notamment ZIP, TAR, GZIP et BZIP2. IronZIP est compatible avec diverses versions de .NET, telles que .NET 7, 6, 5, Core, Standard et Framework.

Il est multiplateforme, ce qui le rend adapté aux applications C#, F# et VB.NET exécutées sur Windows, Linux, Mac, iOS, Android, Docker, Azure et AWS.

Les principales caractéristiques d'IronZIP sont les suivantes :

  • Prise en charge multiplateforme de divers systèmes d'exploitation.
  • Compatibilité avec les différentes versions de .NET et les différents types de projets.
  • Prise en charge de la création, de la lecture et de l'extraction d'archives ZIP, TAR, GZIP et BZIP2.
  • Intégration avec .NET MAUI pour la création d'applications multiplateformes.

Conditions préalables

Avant de commencer, assurez-vous que vous disposez des conditions préalables suivantes :

  1. Visual Studio avec la charge de travail .NET MAUI installée.

  2. Ajout de la bibliothèque IronZIP à votre projet MAUI .NET.

Étapes de la création d'une application .NET MAUI dans Visual Studio

  1. Ouvrez Visual Studio et cliquez sur "Créer un nouveau projet"

  2. Sélectionnez le modèle de projet .NET MAUI App et cliquez sur Next.

    Kit de développement .NET MAUI pour l'extraction de données (Tutoriel pour développeurs) : Figure 1

  3. Configurer les paramètres du projet, le nom du projet et l'emplacement. Cliquez sur Suivant.

    .NET MAUI Data Extraction SDK (Tutoriel pour développeurs) : Figure 2

  4. Dans Informations complémentaires, sélectionnez le bon Framework .NET. IronZIP prend en charge la dernière version du Framework .NET, vous pouvez donc choisir cette solution.

    SDK d'extraction de données .NET MAUI (Tutoriel Développeur) : Figure 3

  5. Cliquez sur Créer pour créer l'application MAUI .NET pour l'extraction de données au format Zip à l'aide de la bibliothèque IronZIP.

Installer IronZIP

Pour intégrer IronZIP à votre projet MAUI .NET, procédez comme suit :

  1. Ouvrez l'explorateur de solutions à partir de View.

    SDK d'extraction de données .NET MAUI (Tutoriel de Développeur) : Figure 4

  2. Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.

  3. Sélectionnez "Gérer les paquets NuGet pour la solution"

    Kit de développement logiciel (SDK) pour l'extraction de données .NET MAUI (Tutoriel pour développeurs) : Figure 5

  4. Dans l'onglet NuGet browse, recherchez "IronZIP" et installez le paquetage pour votre projet.

    SDK d'extraction de données .NET MAUI (Tutoriel pour développeurs) : Figure 6

  5. Dans la boîte de dialogue Aperçu des modifications, cliquez sur "Appliquer" pour effectuer les modifications, puis sur "Accepter" pour accepter la licence IronZIP.

  6. NuGet termine l'installation et un message de confirmation apparaît.

    Maintenant que tout est installé et configuré, passons à l'extraction des données en créant un extracteur Zip dans .NET MAUI.

Étapes de création d'un extracteur Zip

Étape 1 Conception de l'interface des applications

Dans cette section, nous nous concentrerons sur la conception de l'interface utilisateur de votre application .NET MAUI. Ouvrez le fichier MainPage.xaml dans votre dossier de projet et ajoutez le code XAML nécessaire pour créer une interface utilisateur conviviale.

Ici, nous aurons besoin de deux boutons, l'un pour créer des fichiers zip et l'autre pour extraire des fichiers zip. Quelques étiquettes sont également nécessaires pour transmettre des messages appropriés. L'exemple de code suivant montre le code xaml de la conception :

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiAppDataExtraction.MainPage">
    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="IronZIP - A Zip Library to Create and Extract Zip Content!"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />
            <Label
                Text="Welcome to .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to dot net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />
            <Button
                x:Name="OpenFileBtn"
                Text="Extract Zip File"
                SemanticProperties.Hint="Opens the File Picker"
                Clicked="OnSelectFileButtonClicked"
                HorizontalOptions="Center" />
            <Button
                 x:Name="OpenFilesBtn"
                 Text="Create Zip"
                 SemanticProperties.Hint="Opens the File Picker"
                 Clicked="OnSelectFilesButtonClicked"
                 HorizontalOptions="Center" />  
        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
XML

Exécutez l'application et vous verrez la sortie sous forme de formulaires Windows normaux à l'écran.

SDK d'extraction de données .NET MAUI (Tutoriel pour développeur) : Figure 7

Étape 2 Mise en œuvre du code

1. Créer un Zip

Ouvrez le fichier MainPage.xaml.cs et créez la fonctionnalité "Create Zip". Implémentez la méthode OnSelectFilesButtonClicked pour permettre l'ouverture du FilePicker et la sélection de plusieurs fichiers de tout type pour créer un fichier zip.

Créez ensuite une liste de tous les chemins d'accès aux fichiers sélectionnés. Enfin, transmettez-le à la méthode CreateZip où IronZIP créera un fichier zip en utilisant tous les chemins de fichiers sans effort en une seconde.

L'exemple de code suivant montre comment réaliser cette tâche.

private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
    try
    {
        var status = await Permissions.RequestAsync<Permissions.StorageRead>();
        if (status != PermissionStatus.Granted)
        {
            await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
            return;
        }
        // Select Multiple files of any type
        var results = await FilePicker.PickMultipleAsync();
        if (results != null)
        {
            var selectedFilePaths = new List<string>();
            foreach (var file in results)
            {
                // Add File Full Path to the list one by one
                selectedFilePaths.Add(file.FullPath);
            }
            CreateZip(selectedFilePaths);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error: {ex.Message}");
    }
}
private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
    try
    {
        var status = await Permissions.RequestAsync<Permissions.StorageRead>();
        if (status != PermissionStatus.Granted)
        {
            await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
            return;
        }
        // Select Multiple files of any type
        var results = await FilePicker.PickMultipleAsync();
        if (results != null)
        {
            var selectedFilePaths = new List<string>();
            foreach (var file in results)
            {
                // Add File Full Path to the list one by one
                selectedFilePaths.Add(file.FullPath);
            }
            CreateZip(selectedFilePaths);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error: {ex.Message}");
    }
}
Private Async Sub OnSelectFilesButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	Try
		Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
		If status <> PermissionStatus.Granted Then
			Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
			Return
		End If
		' Select Multiple files of any type
		Dim results = Await FilePicker.PickMultipleAsync()
		If results IsNot Nothing Then
			Dim selectedFilePaths = New List(Of String)()
			For Each file In results
				' Add File Full Path to the list one by one
				selectedFilePaths.Add(file.FullPath)
			Next file
			CreateZip(selectedFilePaths)
		End If
	Catch ex As Exception
		Console.WriteLine($"Error: {ex.Message}")
	End Try
End Sub
$vbLabelText   $csharpLabel

Maintenant, implémentons la méthode CreateZip, où la classe IronArchive d'IronZIP prend le chemin du nom de fichier zip à créer. En bouclant à travers chaque chemin de fichier sélectionné, il est ajouté au fichier zip par la méthode Add.

Lorsque les fichiers sont ajoutés, un message de confirmation est affiché à l'aide de DisplayAlert.

private async void CreateZip(List<string> selectedFilePaths)
{
    var path = "E:\\output.zip";
    // Create a Zip
    using (var archive = new IronArchive(path))
    {
        // Add files to the ZIP
        foreach (var file in selectedFilePaths)
        {
            archive.Add(file);
        }
    }
    await DisplayAlert("Congratulations", "All files add to the " + path, "Ok");
}
private async void CreateZip(List<string> selectedFilePaths)
{
    var path = "E:\\output.zip";
    // Create a Zip
    using (var archive = new IronArchive(path))
    {
        // Add files to the ZIP
        foreach (var file in selectedFilePaths)
        {
            archive.Add(file);
        }
    }
    await DisplayAlert("Congratulations", "All files add to the " + path, "Ok");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pour obtenir des informations plus détaillées sur la création, l'ajout de fichiers à un zip existant et l'extraction de zip, veuillez consulter cette page de tutoriel.

2. Extraire le zip

Maintenant, nous allons créer la fonctionnalité "Extract Zip". À nouveau, dans le fichier MainPage.xaml.cs, implémentez la méthode OnSelectFileButtonClicked pour permettre l'ouverture de FilePicker et la sélection d'un seul fichier zip pour l'extraction.

Le chemin complet du fichier sélectionné est attribué à une variable de type chaîne et envoyé à la méthode ExtractZip où IronZIP effectue l'extraction. Le code est le suivant :

private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
    try
    {
        var status = await Permissions.RequestAsync<Permissions.StorageRead>();
        if (status != PermissionStatus.Granted)
        {
            await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
            return;
        }
        // Select Multiple files of any type
        var result = await FilePicker.PickAsync();
        if (result != null)
        {
            // Add File Full Path to the list one by one
            var selectedFile = result.FullPath;
            ExtractZip(selectedFile);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error: {ex.Message}");
    }
}
private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
    try
    {
        var status = await Permissions.RequestAsync<Permissions.StorageRead>();
        if (status != PermissionStatus.Granted)
        {
            await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
            return;
        }
        // Select Multiple files of any type
        var result = await FilePicker.PickAsync();
        if (result != null)
        {
            // Add File Full Path to the list one by one
            var selectedFile = result.FullPath;
            ExtractZip(selectedFile);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error: {ex.Message}");
    }
}
Private Async Sub OnSelectFileButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
	Try
		Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
		If status <> PermissionStatus.Granted Then
			Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
			Return
		End If
		' Select Multiple files of any type
		Dim result = Await FilePicker.PickAsync()
		If result IsNot Nothing Then
			' Add File Full Path to the list one by one
			Dim selectedFile = result.FullPath
			ExtractZip(selectedFile)
		End If
	Catch ex As Exception
		Console.WriteLine($"Error: {ex.Message}")
	End Try
End Sub
$vbLabelText   $csharpLabel

Maintenant, créons la méthode ExtractZip. Dans cette méthode, définissez le chemin d'accès au dossier de sortie dans lequel vous souhaitez extraire les fichiers.

En utilisant la méthode ExtractArchiveToDirectory d'IronZIP, passez le chemin du fichier sélectionné et le chemin de sortie. Cette méthode convertit et transfère de manière transparente tous les fichiers du fichier zip vers le dossier de sortie. Enfin, un message de confirmation s'affiche en cas d'extraction réussie.

Le code est le suivant :

private async void ExtractZip(string selectedFilePath)
{
    var path = "E:\\Extracted Files";
    IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
    await DisplayAlert("Congratulations", "All files extracted to the " + path, "Ok");
}
private async void ExtractZip(string selectedFilePath)
{
    var path = "E:\\Extracted Files";
    IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
    await DisplayAlert("Congratulations", "All files extracted to the " + path, "Ok");
}
Private Async Sub ExtractZip(ByVal selectedFilePath As String)
	Dim path = "E:\Extracted Files"
	IronArchive.ExtractArchiveToDirectory(selectedFilePath, path)
	Await DisplayAlert("Congratulations", "All files extracted to the " & path, "Ok")
End Sub
$vbLabelText   $csharpLabel

Étape 3 Exécuter l'application

Après avoir intégré avec succès le code avec IronZIP, construisez et exécutez l'application pour effectuer les tâches d'extraction de données. Testez la fonctionnalité en créant un fichier zip et en extrayant des fichiers d'un fichier zip.

Vérifiez les résultats en contrôlant les fichiers de sortie et les fichiers extraits dans les répertoires spécifiés.

Étape 4 Vérifier les résultats

1. Test Create Zip

Essayons d'abord de créer un fichier zip. Cliquez sur le bouton Créer un fichier zip et une boîte de dialogue de fichier s'affichera. Vous pouvez choisir plusieurs fichiers ou un seul fichier à ajouter au fichier zip.

SDK d'extraction de données .NET MAUI (Tutoriel pour développeurs): Figure 8

Cliquez sur Ouvrir et un message de confirmation apparaîtra indiquant que les fichiers ont été ajoutés avec succès au fichier output.zip.

SDK d'extraction de données .NET MAUI (Tutoriel pour développeur) : Figure 9

Si nous naviguons vers le fichier output.zip et affichons son contenu, nous verrons tous les fichiers que nous avons ajoutés.

SDK d'extraction de données .NET MAUI (Tutoriel pour développeurs) : Figure 10

2. Test Extraction Zip

Extrayons maintenant un fichier zip. Cliquez sur le bouton Extraire Zip et une boîte de dialogue Fichier apparaît. Choisissez un fichier zip que vous souhaitez extraire et cliquez sur ouvrir.

SDK d'extraction de données .NET MAUI (Tutoriel pour développeurs) : Figure 11

Une fois que la capture des données du fichier zip est effectuée et extraite dans le dossier souhaité, le message de confirmation s'affiche.

.NET MAUI Data Extraction SDK (Tutoriel Développeur) : Figure 12

Maintenant, naviguez vers le dossier "Extracted Files" et vous verrez les fichiers extraits du zip que nous avons choisi.

SDK d'Extraction de Données .NET MAUI (Tutoriel Développeur) : Figure 13

Conclusion

En conclusion, l'intégration d'IronZIP avec .NET MAUI fournit une solution puissante pour la création, la lecture et l'extraction d'archives dans des applications multiplateformes.

L'exemple fourni montre comment utiliser IronZIP pour sélectionner plusieurs fichiers, générer une archive zip et extraire des fichiers d'une archive zip dans .NET MAUI.

Cette combinaison de technologies offre aux développeurs une expérience transparente de la gestion et de la manipulation des archives sur différentes plateformes.

Pour plus d'informations détaillées et des exemples de code, veuillez visiter cette page de documentation.

IronZIP offre une version d'essai gratuite. Vous pouvez télécharger la bibliothèque depuis ici et l'essayer.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
.NET ZipArchive (Tutoriel du développeur)
SUIVANT >
Comment créer une archive Zip en C#