using IronZip;
// Create an empty ZIP
using (var archive = new IronZipArchive())
{
// Add files to the ZIP
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP
archive.SaveAs("output.zip");
}
.NET MAUI Data Extraction SDK (SDK d'extraction de données)
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
Créer un projet MAUI de Visual Studio .NET
Installation de la bibliothèque Zip C# à l'aide de NuGet
Conception de l'interface de l'application d'extraction de données
Implémentation des méthodes de création et d'extraction de fichiers Zip
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 :
Visual Studio avec la charge de travail .NET MAUI installée.
Ajout de la bibliothèque IronZIP à votre projet MAUI .NET.
Étapes de la création d'une application .NET MAUI dans Visual Studio
Ouvrez Visual Studio et cliquez sur "Créer un nouveau projet"
Sélectionnez le modèle de projet .NET MAUI App et cliquez sur Next.
Configurer les paramètres du projet, le nom du projet et l'emplacement. Cliquez sur Suivant.
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.
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 :
Ouvrez l'explorateur de solutions à partir de View.
Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
Sélectionnez "Gérer les paquets NuGet pour la solution"
Dans l'onglet NuGet browse, recherchez "IronZIP" et installez le paquetage pour votre projet.
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.
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 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.
É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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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
$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, 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
$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.
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.
Si nous naviguons vers le fichier output.zip et affichons son contenu, nous verrons tous les fichiers que nous avons ajoutés.
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.
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.
Maintenant, naviguez vers le dossier "Extracted Files" et vous verrez les fichiers extraits du zip que nous avons choisi.
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.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT .NET ZipArchive (Tutoriel du développeur)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier