USO DE IRONZIP

Cómo descomprimir archivos en .NET Core

Publicado en 4 de enero, 2024
Compartir:

1. Introducción

"Descomprimir" describe el proceso de sacar archivos y carpetas de un archivo ZIP y descomprimirlos. "Descomprimir" se refiere al proceso de recuperar archivos o directorios comprimidos a su estado original, de modo que se pueda acceder a ellos y volver a utilizarlos después de haber sido comprimidos en un formatoArchivo ZIP. Podemos añadir varios tipos de archivos en archivos zip como imágenes, archivos TXT, etc.,

Los usuarios pueden recuperar el contenido de un archivo ZIP descomprimiéndolo, es decir, invirtiendo el proceso de compresión. Acceder a archivos o carpetas individuales que se han empaquetado para transmitirlos, almacenarlos o compartirlos de forma más eficaz es uno de sus usos más populares. Una vez finalizado el procedimiento de "descompresión", los archivos conservan su estructura original y pueden ser leídos, modificados o utilizados según las necesidades del usuario. En este artículo, vamos a descomprimir archivos en el núcleo de Asp.net utilizando la biblioteca de archivos IronZIP.

2. En Asp.net Core, Resumen de archivos descomprimidos

  1. Crear un nuevo proyecto Asp.net Core

  2. Instalar la librería IronZIP en el proyecto creado

  3. Para descomprimir un archivo, instancie la clase IronArchive.

  4. El archivo ZIP puede extraerse utilizando la función ExtractArchiveToDirectory.

  5. Especifique el archivo de destino donde debe extraerse el archivo descomprimido.

3. Biblioteca IronZIP

Iron Software creó la biblioteca .NETIronZIPque facilita el manejo y la gestión de archivos ZIP en aplicaciones .NET. Ofrece herramientas y funciones a los programadores para que puedan interactuar con ZIP de diversas maneras. Esto incluye generar, extraer, comprimir, descomprimir, encriptar y modificar archivos y directorios dentro de los archivos ZIP.

3.1 Características de IronZIP

  • Creación de archivos ZIP: Las aplicaciones .NET pueden crear archivos ZIP nuevos desde el principio.
  • Extracción y descompresión: Capacidad para extraer archivos y directorios de paquetes ZIP preexistentes y descomprimir contenidos.
  • Compresión: Proporciona herramientas para reducir archivos y carpetas en archivos ZIP para hacerlos más pequeños para su transporte o almacenamiento.
  • Protección por contraseña y cifrado: Para salvaguardar el contenido de los archivos ZIP, esta función ofrece la posibilidad de aplicar protección por contraseña y cifrar los archivos ZIP.
  • Manipulación de archivos: Permite a los programadores añadir, eliminar, actualizar o trabajar con archivos y directorios dentro de paquetes ZIP.
  • Compatibilidad: Hecho para funcionar en varios entornos .NET, compatible con múltiples iteraciones del framework.
  • Optimización del rendimiento: Dirigido a maximizar la velocidad para que los programas .NET puedan gestionar grandes archivos ZIP o conjuntos de datos con mayor eficacia.

    A la hora de gestionar archivos ZIP para sus aplicaciones, los desarrolladores pueden encontrar en IronZIP una herramienta útil. Dentro del .NET Framework, proporciona diversas funciones para trabajar con archivos ZIP mediante programación, ofreciendo simplicidad y versatilidad.

    Para conocer los detalles más recientes sobre características, capacidades, compatibilidad y cualquier nueva funcionalidad incluida en versiones posteriores, consulte la documentación oficial, las notas de la versión o el sitio web de IronZIP, ya que las bibliotecas de software se actualizan y mejoran con el tiempo. Para saber más, haga clic enaquí.

3.2 Creación de un nuevo proyecto en Visual Studio

Seleccione la opción Archivo tras iniciar el programa Visual Studio. Elige "nuevo proyecto" y luego "Asp.Net core Web App".

En el cuadro de texto correspondiente, escriba el nombre del proyecto y elija la ubicación del archivo. A continuación, haga clic en el botón Crear y elija la versión necesaria de .NET Framework.

La estructura de la aplicación elegida será ahora generada por el proyecto de Visual Studio. En este caso, se utiliza ASP.NET MVC. Por lo tanto, tenemos dos opciones: utilizar el controlador actual, que permite añadir el código y construir/ejecutar la aplicación, o crear uno nuevo.

A continuación, se puede añadir la biblioteca y probar el código.

4. Descarga del paquete IronZIP

4.1 Utilización de Visual Studio

Puede instalar paquetes directamente en su solución utilizando la función NuGet Package Manager de Visual Studio. Puede utilizar la siguiente instantánea para acceder al Gestor de paquetes NuGet.

Cómo descomprimir archivos en .NET Core: Figura 1 - Cómo acceder al gestor de paquetes NuGet

Proporciona un cuadro de búsqueda que saca una lista de paquetes del sitio web NuGet. La siguiente captura de pantalla nos muestra dónde buscar la frase "IronZIP" en el gestor de paquetes.

Cómo descomprimir archivos en .NET Core: Figura 2 - Búsqueda de IronZIP en el gestor de paquetes NuGet

En la imagen anterior, se muestra una lista de términos de búsqueda pertinentes. Es necesario seleccionar la opción deseada para instalar el paquete de soluciones.

4.2 Uso de la línea de comandos de Visual Studio

En Visual Studio, seleccione Herramientas > Gestor de paquetes NuGet para ver la consola del gestor de paquetes.

Pon la siguiente línea en la pestaña terminal del gestor de paquetes:

Install-Package IronZip

Una vez descargado e instalado en el proyecto activo, el paquete está listo para su uso.

4.3 Descarga directa desde el sitio web de NuGet

Utilizando la tercera vía, se puede obtener elPaquete NuGet e directamente desde el sitio web.

Navegue hasta allí para abrir el enlace.

Seleccione el paquete de descarga en el menú de la derecha.

Haga doble clic en el paquete una vez descargado. Por sí solo, se instalará.

Una vez más, cargue la solución y empiece a utilizarla en el proyecto.

4.4 Descarga directa desde el sitio web de IronZIP

Haga clic en este enlace para obtener el último paquete directamente delsitio web. Una vez descargado, siga los procedimientos adjuntos para añadir el paquete al proyecto.

  • Seleccione el proyecto haciendo clic con el botón derecho del ratón en la ventana de la solución.
  • Seleccione la referencia y busque su ubicación cuando se haya descargado.
  • A continuación, haga clic en Aceptar para añadir la referencia.

4.5 Descomprimir archivos en el núcleo de Asp.net

Necesitará proporcionar el nombre del archivo y el destino donde desea extraer el archivo para utilizar IronZIP en C# para extraer un archivo específico de un archivo ZIP.

Ejemplo de código aquí:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public IActionResult OnPost()
        {
try{
            var file = Request.Form.Files [0];
            using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
            {
                 file.CopyToAsync(stream);
            }
            IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch(Exception ex){
return RedirectToAction("Error");
}
            return RedirectToAction("Get");
        }
}
}
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronZip;
namespace IronPDF_WebApp.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public IActionResult OnPost()
        {
try{
            var file = Request.Form.Files [0];
            using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
            {
                 file.CopyToAsync(stream);
            }
            IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
}
catch(Exception ex){
return RedirectToAction("Error");
}
            return RedirectToAction("Get");
        }
}
}
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Imports IronZip
Namespace IronPDF_WebApp.Pages
	Public Class IndexModel
		Inherits PageModel

		Private ReadOnly _logger As ILogger(Of IndexModel)
		Public Sub New(ByVal logger As ILogger(Of IndexModel))
			_logger = logger
		End Sub
		Public Function OnPost() As IActionResult
Try
			Dim file = Request.Form.Files (0)
			Using stream = New FileStream(filepath + file.FileName, FileMode.Create)
				 file.CopyToAsync(stream)
			End Using
			IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile)
Catch ex As Exception
Return RedirectToAction("Error")
End Try
			Return RedirectToAction("Get")
		End Function
	End Class
End Namespace
VB   C#

En el código anterior, asegúrese de que se importa el espacio de nombres IronZIP. La clase ZipFile de IronZIP incluye la función ExtractArchiveToDirectory. Esto nos permite pasar dos parámetros que son el sistema de archivos de origen y la ruta del archivo de descompresión. Los archivos zip ZIPArchive pueden tener cualquier número de contenidos y los contenidos pueden ser extraídos usándolo y guardados en un directorio especificado por el archivo. La ruta del directorio, que se utiliza como punto de extracción para el contenido del archivo ZIP único es el único parámetro requerido por el método ExtractArchiveToDirectory.

Para extraer todos los archivos al directorio designado, esta técnica recorre internamente todos los archivos y directorios del paquete ZIP. Cuando surja una excepción, como cuando falte el archivo ZIP o haya problemas con el procedimiento de extracción, asegúrate de tratarla con cuidado. Las excepciones pueden ser capturadas y manejadas con el uso de bloques try-catch. Para actividades de extracción masiva, el método ExtractArchiveToDirectory facilita la extracción gestionando la extracción de todos los ficheros y directorios dentro del archivo ZIP. Los archivos ZIP pueden crearse con la ayuda del método de extensión IronZIP.

Para obtener más información sobre la biblioteca IronZIP, haga clic enaquí.

5. Conclusión

Los desarrolladores pueden manejar la compresión, extracción y manipulación de archivos ZIP con la ayuda de IronZIP, una biblioteca .NET diseñada específicamente para gestionar archivos ZIP en aplicaciones C#. Al agilizar los procedimientos intrincados y hacer más sencillas las operaciones con archivos, como extraer archivos concretos, extraer archivos en bloque, añadir entradas y modificar archivos existentes, IronZIP emplea una API intuitiva.

Con esta biblioteca, los desarrolladores pueden mejorar las capacidades de gestión de archivos sin tener que empezar desde cero en los proyectos C#. Se integra sin esfuerzo. Gracias a su versatilidad, el contenido del ZIP puede modificarse dinámicamente, añadiendo, modificando y eliminando archivos para adaptarse a los requisitos de diversas aplicaciones.

Cuando se trata de situaciones como archivos ZIP perdidos o dañados, las potentes funciones de gestión de excepciones de IronZIP garantizan un flujo de trabajo coherente y facilitan la corrección de errores. En el pasado, IronZIP ofrecía una solución fiable para la gestión de archivos ZIP en entornos .NET, aunque puede que mis conocimientos no reflejen las actualizaciones más recientes. El precio de IronZIP comienza en $749 y viene con una versión gratuita para desarrolladores. Para saber más sobre la licencia podemos consultaraquí. Para el producto de software Iron, consulteaquí.

< ANTERIOR
ZipArchive C# (Tutorial para desarrolladores)
SIGUIENTE >
Cómo abrir 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 >