USO DE IRONZIP

sDK de extracción de datos MAUI .NET con IronZIP

Publicado en 12 de diciembre, 2023
Compartir:

Introducción

.NET MAUI, o .NET Multi-platform App UI, es un framework para construir aplicaciones multiplataforma. Permite a los desarrolladores crear aplicaciones con una única base de código que se ejecuta en Windows, macOS, iOS, Android y o cualquier otro dispositivo. Similar a react native, pero funciona con C# en lugar de JavaScript.

.NET MAUI permite a los desarrolladores de C# crear sin problemas aplicaciones móviles, aplicaciones de escritorio, desde un único entorno. Microsoft .NET MAUI proporciona documentación y recursos completos para ayudar a los desarrolladores a facilitar y optimizar el proceso de desarrollo de aplicaciones.

En este artículo, exploraremos la integración de IronZIP, una potente librería de archivos ZIP en C#, con .NET MAUI para propósitos de extracción de datos.

Cómo extraer datos de archivos Zip

  1. Crear un proyecto MAUI de Visual Studio .NET

  2. Instalación de la biblioteca Zip de C# con NuGet

  3. Diseño de la interfaz de la aplicación de extracción de datos

  4. Implementación de los métodos Create Zip y Extract Zip

  5. Ejecute la aplicación y compruebe los resultados

Introducción a IronZIP

IronZIP es una completa biblioteca de archivos ZIP en C# diseñada para crear, leer y extraer archivos en .NET. Es compatible con una amplia gama de formatos de archivo, como ZIP, TAR, GZIP y BZIP2. IronZIP es compatible con varias versiones de .NET, como .NET 7, 6, 5, Core, Standard y Framework.

Es multiplataforma, por lo que es adecuado para aplicaciones C#, F# y VB.NET que se ejecuten en Windows, Linux, Mac, iOS, Android, Docker, Azure y AWS.

Entre las principales características de IronZIP se incluyen:

  • Compatibilidad multiplataforma con varios sistemas operativos.
  • Compatibilidad con diferentes versiones de .NET y tipos de proyecto.
  • Soporte para crear, leer y extraer archivos ZIP, TAR, GZIP y BZIP2.
  • Integración con .NET MAUI para crear aplicaciones multiplataforma.

Requisitos previos

Antes de empezar, asegúrese de que dispone de los siguientes requisitos previos:

1.Visual Studio con la carga de trabajo .NET MAUI instalada.

  1. Librería IronZIP añadida a tu proyecto .NET MAUI.

Pasos para crear una aplicación .NET MAUI en Visual Studio

  1. Abra Visual Studio y haga clic en "Crear un nuevo proyecto".

  2. Selecciona la plantilla de proyecto .NET MAUI App y haz clic en Siguiente.

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 1

  3. Configure los ajustes del proyecto, el nombre del proyecto y la ubicación. Haga clic en Siguiente.

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 2

  4. En Información adicional, seleccione el .NET Framework adecuado. IronZIP es compatible con la última versión de .NET Framework, por lo que puede elegirla.

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 3

  5. Haz clic en Crear para crear la Aplicación .NET MAUI para Extracción de Datos Zip utilizando la librería IronZIP.

Instalar IronZIP

Para integrar IronZIP en tu proyecto .NET MAUI, sigue estos pasos:

  1. Abra el Explorador de soluciones desde Vista.

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 4

  2. Haga clic con el botón derecho en su proyecto en el Explorador de soluciones.

  3. Seleccione "Administrar paquetes NuGet para la solución".

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 5

  4. En la pestaña de búsqueda de NuGet, busque "IronZIP" e instale el paquete para su proyecto.

    SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 6

  5. En el cuadro de diálogo Previsualizar cambios, haga clic en "Aplicar" para realizar los cambios y, a continuación, haga clic en "Aceptar" para aceptar la Licencia IronZIP.

  6. NuGet finalizará la instalación y aparecerá un mensaje de confirmación.

    Ahora que todo está instalado y configurado, pasemos a la tarea de extracción de datos creando un Extractor Zip en .NET MAUI.

Pasos para crear un extractor Zip

Paso 1 Diseñar la interfaz de la aplicación

En esta sección, nos centraremos en diseñar la interfaz de usuario para tu aplicación .NET MAUI. Abra el archivo MainPage.xaml de la carpeta del proyecto y añada el código XAML necesario para crear una interfaz fácil de usar.

Aquí necesitaremos dos botones, uno para crear archivos zip y otro para extraer archivos zip. También se necesitan algunas etiquetas para dar los mensajes adecuados. El siguiente ejemplo de código muestra el código xaml del diseño:

<?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

Ejecute la aplicación y verá la salida como formularios normales de Windows en la pantalla.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 7

Paso 2 Aplicar el código

1. Crear Zip

Abra el archivo MainPage.xaml.cs y cree el archivo "Crear Zip". Implementar el método OnSelectFilesButtonClicked para permitir abrir el FilePicker y seleccionar múltiples archivos de cualquier tipo para crear un archivo zip.

A continuación, cree una lista con todas las rutas de los archivos seleccionados. Finalmente, páselo al método CreateZip donde IronZIP creará un archivo zip usando todas las rutas de archivo sin problemas en un segundo.

El siguiente ejemplo de código muestra cómo realizar esta tarea.

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#

Ahora, implementemos el método CreateZip, donde la clase IronArchive de IronZIP toma la ruta del archivo zip a crear. Recorriendo en bucle cada ruta de archivo seleccionada, se añade al archivo zip mediante el método Add.

Cuando se añaden los archivos, se muestra un mensaje de confirmación utilizando 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#

Para obtener información más detallada sobre cómo crear, añadir archivos a un archivo zip existente y extraer archivos zip, visite este enlacepágina de tutoriales.

2. Extraer zip

Ahora, crearemos el archivo "Extraer Zip". De nuevo, en el archivo MainPage.xaml.cs, implemente el método OnSelectFileButtonClicked para permitir la apertura del FilePicker y la selección de un único archivo zip para su extracción.

La ruta completa del archivo seleccionado se establece en una variable de cadena y se envía al método ExtractZip donde IronZIP realiza la extracción. El código es el siguiente:

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#

Ahora, vamos a crear el método ExtractZip. En este método, establezca la ruta a la carpeta de salida donde desea extraer los archivos.

Usando el método ExtractArchiveToDirectory de IronZIP, pase la ruta del archivo seleccionado y la ruta de salida. Este método convierte y transfiere sin problemas todos los archivos del zip a la carpeta de salida. Por último, se muestra un mensaje de confirmación cuando la extracción se ha realizado correctamente.

El código es el siguiente:

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#

Paso 3 Ejecutar la aplicación

Tras integrar correctamente el código junto con IronZIP, cree y ejecute la aplicación para realizar tareas de extracción de datos. Pruebe la funcionalidad creando un archivo zip y extrayendo archivos de un archivo zip.

Verifique los resultados comprobando los archivos de salida y extraídos en los directorios especificados.

Paso 4 Verificar los resultados

1. Pruebas Crear Zip

Intentemos primero crear un archivo zip. Haga clic en el botón Crear Zip y se le presentará un cuadro de diálogo de archivo. Puede elegir entre varios archivos o uno solo para añadirlo al zip.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 8

Haga clic en Abrir y aparecerá un mensaje de confirmación de que los archivos se han añadido correctamente a output.zip.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 9

Si navegamos hasta el archivo output.zip y vemos su contenido, veremos todos los archivos que hemos añadido.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 10

2. Pruebas Extraer Zip

Ahora vamos a extraer un archivo zip. Haga clic en el botón Extraer Zip y aparecerá un cuadro de diálogo Archivo. Elija un archivo zip que desee extraer y haga clic en Abrir.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 11

Una vez realizada la captura de datos del fichero zip y extraídos a la carpeta deseada, muestra el mensaje de confirmación.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 12

Ahora, navega a la carpeta "Extracted Files" y verás los archivos extraídos del zip que elegimos.

SDK de extracción de datos MAUI .NET(Tutorial para desarrolladores): Figura 13

Conclusión

En conclusión, la integración de IronZIP con .NET MAUI proporciona una potente solución para crear, leer y extraer archivos en aplicaciones multiplataforma.

El ejemplo proporcionado demuestra cómo usar IronZIP para seleccionar múltiples archivos, generar un archivo zip, y extraer archivos de un archivo zip dentro de .NET MAUI.

Esta combinación de tecnologías ofrece a los desarrolladores una experiencia fluida en la gestión y manipulación de archivos en diversas plataformas.

Para obtener información más detallada y ejemplos de código, visite este enlacedocumentación página.

IronZIP ofrece un**Prueba gratuita. Puede descargar la biblioteca enaquí y pruébalo.

< ANTERIOR
.NET ZipArchive (Tutorial para desarrolladores)
SIGUIENTE >
Cómo crear un archivo Zip en C#

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 5,596 Ver licencias >