Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
.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.
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
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 :
Avant de commencer, assurez-vous que vous disposez des conditions préalables suivantes :
Visual Studio avec la charge de travail .NET MAUI installée.
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.
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.
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>
Exécutez l'application et vous verrez la sortie sous forme de formulaires Windows normaux à l'écran.
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
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
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.
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
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
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.
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.
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.
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.
9 produits de l'API .NET pour vos documents de bureau