UTILISATION D'IRONZIP

.NET MAUI Data Extraction SDK with IronZIP

Publié 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 créer, lire et extraire des archives en .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.

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(Tutoriel du développeur) : Figure 1

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

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du développeur) : 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.

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du 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.

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du 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"

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(Tutoriel du développeur) : Figure 5

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

    .NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du développeur) : 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 le dossier de votre projet et ajoutez le code XAML nécessaire pour créer une interface 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.

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(Tutoriel du 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 l'élément "Créer Zipla fonctionnalité ". Implémenter la méthode OnSelectFilesButtonClicked pour permettre l'ouverture du FilePicker et la sélection de plusieurs fichiers de n'importe quel type pour la création d'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 de manière transparente en moins d'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
VB   C#

Maintenant, implémentons la méthode CreateZip, où la classe IronArchive d'IronZIP prend le chemin du fichier zip à créer. Chaque chemin d'accès sélectionné est ajouté au fichier zip par la méthode Add.

Lorsque les fichiers sont ajoutés, un message de confirmation s'affiche à 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
VB   C#

Pour des informations plus détaillées sur la façon de créer, d'ajouter des fichiers à un fichier zip existant et d'extraire un fichier zip, veuillez consulter le site suivantpage didactique.

2. Extraire le zip

Nous allons maintenant créer le fichier "Extraire Zipla fonctionnalité ". Toujours dans le fichier MainPage.xaml.cs, implémentez la méthode OnSelectFileButtonClicked pour permettre l'ouverture du FilePicker et la sélection d'un seul fichier zip pour l'extraction.

Le chemin complet du fichier sélectionné est défini dans 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
VB   C#

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, transmettez le chemin d'accès au fichier sélectionné et le chemin d'accès à la 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
VB   C#

É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.

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du développeur) : 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.

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du 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.

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du développeur) : 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.

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du développeur) : 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 (SDK d'extraction de données)(tutoriel du développeur) : Figure 12

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

.NET MAUI Data Extraction SDK (SDK d'extraction de données)(tutoriel du 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 obtenir des informations plus détaillées et des exemples de code, veuillez consulter le site suivantdocumentation page.

IronZIP offre uneessai gratuit. Vous pouvez télécharger la bibliothèque à partir deici et l'essayer.

< PRÉCÉDENT
.NET ZipArchive (Tutoriel du développeur)
SUIVANT >
Comment créer une archive Zip en C#