Ir para o conteúdo do rodapé
USANDO O IRONZIP

Como descompactar arquivos no .NET Core

1. Introdução

"Descompactar" descreve o processo de retirar arquivos e pastas de um arquivo ZIP e descompactá-los. "Unzip" refers to the process of recovering compressed files or directories back to their original condition, so that they can be accessed and used again after being compressed into a ZIP file. Podemos adicionar vários tipos de arquivos em arquivos zip, como imagens, arquivos TXT, etc.

Os usuários podem recuperar o conteúdo de um arquivo ZIP via descompactação, que é o processo de reverter o processo de compressão. Acessar arquivos ou pastas individuais que foram embalados juntos para transmissão, armazenamento ou compartilhamento mais eficaz é um uso popular para isso. Após o procedimento de "descompactação" ser concluído, os arquivos possuem sua estrutura original e podem ser lidos, alterados ou usados conforme necessário pelo usuário. Neste artigo, vamos descompactar arquivos no Asp.net core usando a IronZIP Archive Library.

2. Em Asp.net Core, Resumo do Arquivo Descompactado

  1. Crie um novo projeto Asp.net Core.
  2. Instale a biblioteca IronZIP no projeto criado.
  3. Para descompactar um arquivo, instancie a classe IronArchive.
  4. O arquivo ZIP pode ser extraído usando a função ExtractArchiveToDirectory.
  5. Especifique o arquivo de destino onde o arquivo descompactado precisa ser extraído.

3. Biblioteca IronZIP

A Iron Software criou a biblioteca .NET IronZIP, que facilita o manuseio e gerenciamento de arquivos ZIP em aplicativos .NET. Ela oferece ferramentas e recursos para programadores, permitindo-lhes interagir com ZIP de várias maneiras. Estas incluem gerar, extrair, comprimir, descomprimir, criptografar e modificar arquivos e diretórios dentro dos arquivos ZIP.

3.1 Recursos do IronZIP

  • Criação de Arquivo ZIP: A capacidade para aplicativos .NET de produzir novos arquivos ZIP desde o início.
  • Extração e Descompressão: A capacidade de remover arquivos e diretórios de pacotes ZIP pré-existentes e descompactar conteúdo.
  • Compressão: Fornece ferramentas para reduzir arquivos e pastas em arquivos ZIP, tornando-os menores para transporte ou armazenamento.
  • Proteção por senha e criptografia: Para proteger o conteúdo dos arquivos ZIP, este recurso oferece a capacidade de aplicar proteção por senha e criptografar arquivos ZIP.
  • Manipulação de arquivos: Isso permite que os programadores adicionem, removam, atualizem ou trabalhem com arquivos e diretórios dentro de pacotes ZIP.
  • Compatibilidade: Feito para funcionar em vários ambientes .NET, compatível com várias versões do framework.
  • Otimização de Desempenho: Focado em maximizar a velocidade para que programas .NET possam gerenciar grandes arquivos ZIP ou conjuntos de dados de forma mais eficaz.

Ao gerenciar arquivos ZIP para suas aplicações, os desenvolvedores podem achar o IronZIP uma ferramenta útil. Dentro do framework .NET, ele fornece uma variedade de recursos para trabalhar com arquivos ZIP programaticamente, oferecendo simplicidade e versatilidade.

Para as informações mais recentes sobre recursos, capacidades, compatibilidade e quaisquer novas funcionalidades incluídas em versões posteriores, consulte a documentação oficial, as notas de lançamento ou o site do IronZIP, pois as bibliotecas de software são atualizadas e melhoradas com o tempo. Para saber mais, clique aqui.

3.2 Criando um Novo Projeto no Visual Studio

Selecione a opção Arquivo após iniciar o programa Visual Studio. Escolha "novo projeto" e então "Asp.Net core Web App."

No campo de texto relevante, digite o nome do projeto e escolha a localização do arquivo. Em seguida, clique no botão Criar e escolha a versão necessária do .NET Framework.

A estrutura da aplicação escolhida agora será gerada pelo projeto do Visual Studio. Neste caso, o ASP.NET MVC está sendo utilizado. Portanto, temos duas opções: ou utilizamos o controlador atual, que permite adicionar o código e construir/executar a aplicação, ou criamos um novo.

A biblioteca pode então ser adicionada, e o código testado.

4. Download do Pacote IronZIP

4.1 Usando o Visual Studio

Você pode instalar pacotes diretamente na sua solução usando o recurso Gerenciador de Pacotes NuGet do Visual Studio. Você pode usar a imagem abaixo para acessar o Gerenciador de Pacotes NuGet.

Como Descompactar Arquivos no .NET Core: Figura 1 - Como Acessar o Gerenciador de Pacotes NuGet

Ele fornece uma caixa de pesquisa que exibe uma lista de pacotes do site NuGet. A captura de tela abaixo nos mostra onde procurar a frase "IronZIP" no gerenciador de pacotes.

Como Descompactar Arquivos no .NET Core: Figura 2 - Pesquisando por IronZIP no Gerenciador de Pacotes NuGet

Na imagem acima, uma lista de termos de pesquisa relevantes é exibida. Selecionar a opção necessária é obrigatório para instalar o pacote da solução.

4.2 Usando a linha de comando do Visual Studio

No Visual Studio, escolha Ferramentas > Gerenciador de Pacotes NuGet para ver o Console do Gerenciador de Pacotes.

Coloque a seguinte linha na aba terminal do gerenciador de pacotes:

Install-Package IronZip

Após o download e instalação no projeto ativo, o pacote está pronto para uso.

4.3 Download direto do site do NuGet

Usando o terceiro método, pode-se obter o pacote NuGet diretamente do site.

Navegue até lá para abrir o link.

Selecione a opção de download do pacote no menu à direita.

Dê um duplo clique no pacote assim que ele for baixado. Por conta própria, ele se instalará.

Mais uma vez, carregue a solução e comece a usá-la no projeto.

4.4 Download direto do site do IronZIP

Clique neste link para obter o pacote mais recente diretamente do site. Após baixá-lo, siga os procedimentos acompanhados para adicionar o pacote ao projeto.

  • Selecione o projeto com um clique direito na janela de solução.
  • Selecione a referência e navegue até sua localização quando ela tiver sido baixada.
  • Clique em OK após isso para adicionar a referência.

4.5 Descompactar Arquivos no Asp.net core

Você precisará fornecer o nome e o destino do arquivo para onde deseja extrair o arquivo ao usar o IronZIP em C# para extrair um arquivo específico de um arquivo ZIP.

Exemplo de código aqui:

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
            {
                // Retrieve the uploaded file from the form
                var file = Request.Form.Files[0];

                // Set the file path where the file will be saved
                string filepath = @"C:\temp\uploads\";

                // Save the uploaded file to the specified filepath
                using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
                {
                    file.CopyToAsync(stream);
                }

                // Extract the ZIP archive to the specified directory
                string extractfile = @"C:\temp\extracted";
                IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
            }
            catch (Exception ex)
            {
                // Handle exception and redirect to Error page
                _logger.LogError(ex, "An error occurred while extracting the ZIP file.");
                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
            {
                // Retrieve the uploaded file from the form
                var file = Request.Form.Files[0];

                // Set the file path where the file will be saved
                string filepath = @"C:\temp\uploads\";

                // Save the uploaded file to the specified filepath
                using (var stream = new FileStream(filepath + file.FileName, FileMode.Create))
                {
                    file.CopyToAsync(stream);
                }

                // Extract the ZIP archive to the specified directory
                string extractfile = @"C:\temp\extracted";
                IronZipArchive.ExtractArchiveToDirectory(filepath + file.FileName, extractfile);
            }
            catch (Exception ex)
            {
                // Handle exception and redirect to Error page
                _logger.LogError(ex, "An error occurred while extracting the ZIP file.");
                return RedirectToAction("Error");
            }

            return RedirectToAction("Get");
        }
    }
}
$vbLabelText   $csharpLabel

No código acima, certifique-se de que o namespace IronZIP está importado. Incluído na classe IronZipArchive do IronZIP está a função ExtractArchiveToDirectory. Isso nos permite passar dois parâmetros: o sistema de arquivos de origem e o caminho do arquivo descompactado. Arquivos zip ZIPArchive podem ter qualquer número de conteúdos, e os conteúdos podem ser extraídos usando-o e salvos em um diretório especificado pelo arquivo. O caminho do diretório, que é usado como o ponto de extração para os conteúdos do arquivo ZIP único, é o único parâmetro necessário pelo método ExtractArchiveToDirectory.

Para extrair todos os arquivos para o diretório designado, esta função percorre internamente todos os arquivos e diretórios dentro do pacote ZIP. Quando uma exceção surge, como quando o arquivo ZIP está ausente ou há problemas com o procedimento de extração, certifique-se de lidar com isso cuidadosamente. Exceções podem ser capturadas e tratadas com o uso de blocos try-catch. Para atividades de extração em massa, o método ExtractArchiveToDirectory torna a extração mais fácil gerenciando a extração de todos os arquivos e diretórios dentro do arquivo ZIP. Arquivos Zip podem ser criados com a ajuda do método de extensão IronZIP.

Para ler mais sobre a biblioteca IronZIP, clique aqui.

5. Conclusão

Os desenvolvedores podem manusear a compressão, extração e manipulação de arquivos ZIP com a ajuda do IronZIP, uma biblioteca .NET projetada especificamente para gerenciar arquivos ZIP em aplicações C#. Simplificando procedimentos intrincados e tornando operações de arquivo como extrair arquivos específicos, extrair arquivos em massa, adicionar entradas e modificar arquivos existentes mais simples, o IronZIP emprega uma API intuitiva.

Com esta biblioteca, os desenvolvedores podem melhorar as capacidades de gestão de arquivos sem ter que começar do zero em projetos C#. Ele se integra sem esforço. Graças à sua versatilidade, os conteúdos ZIP podem ser alterados dinamicamente, com arquivos sendo adicionados, alterados e removidos para atender a uma variedade de requisitos de aplicativos.

Ao lidar com situações como arquivos ZIP ausentes ou danificados, os recursos robustos de tratamento de exceções do IronZIP garantem um fluxo de trabalho consistente e facilitam a correção de erros. Embora o IronZIP tenha historicamente oferecido uma solução confiável para gerenciar arquivos ZIP em ambientes .NET, observe que meu entendimento pode não refletir as atualizações mais recentes. O preço do IronZIP começa em $799 e vem com uma versão gratuita para desenvolvedores. Para saber mais sobre a licença, podemos consultar aqui. Para o produto de software Iron, verifique aqui.

Perguntas frequentes

Como posso descompactar arquivos no ASP.NET Core?

É possível descompactar arquivos no ASP.NET Core usando a biblioteca IronZIP. Primeiro, instale o IronZIP através do Gerenciador de Pacotes NuGet no Visual Studio e, em seguida, utilize a classe IronArchive e o método ExtractArchiveToDirectory para extrair arquivos de um arquivo ZIP para um diretório específico.

Quais são as principais funcionalidades do IronZIP para lidar com arquivos ZIP?

O IronZIP oferece diversos recursos para lidar com arquivos ZIP, incluindo criação, extração, compressão, criptografia e manipulação desses arquivos. Ele suporta proteção por senha e é otimizado para desempenho, sendo compatível com várias estruturas .NET.

Como faço para instalar o IronZIP em um projeto C#?

Para instalar o IronZIP em um projeto C#, use o Gerenciador de Pacotes NuGet no Visual Studio. Pesquise por 'IronZIP' e instale-o. Como alternativa, use o Console do Gerenciador de Pacotes com o comando Install-Package IronZIP .

O IronZIP pode ser usado para criptografar arquivos ZIP?

Sim, o IronZIP pode criptografar arquivos ZIP. Ele inclui ferramentas para proteção por senha e criptografia, garantindo a segurança do conteúdo dentro dos arquivos ZIP.

O que devo fazer se encontrar erros durante a extração de um arquivo ZIP no ASP.NET Core?

Se você encontrar erros durante a extração de arquivos ZIP, use os recursos de tratamento de exceções do IronZIP. Implemente blocos try-catch para lidar com exceções como arquivos ZIP ausentes ou corrompidos.

Existe alguma versão gratuita do IronZIP disponível para desenvolvedores?

Sim, o IronZIP oferece uma versão gratuita para desenvolvedores que permite explorar seus recursos sem nenhum custo inicial, além das licenças pagas.

Por que devo usar o IronZIP para gerenciar arquivos ZIP em meus projetos ASP.NET Core?

O IronZIP simplifica o gerenciamento de arquivos ZIP em projetos ASP.NET Core, oferecendo uma API intuitiva para criar, extrair e modificar arquivos ZIP, aprimorando os recursos de gerenciamento de arquivos.

Como o IronZIP lida com a extração de arquivos ZIP?

O IronZIP lida com a extração de arquivos ZIP usando o método ExtractArchiveToDirectory , que extrai todos os arquivos e diretórios de um arquivo ZIP para um caminho de diretório especificado, gerenciando com eficiência cada elemento dentro do pacote ZIP.

Qual é o processo para criar um novo projeto ASP.NET Core para usar com o IronZIP?

Para criar um novo projeto ASP.NET Core para uso com o IronZIP, configure um novo projeto no Visual Studio, instale o IronZIP via NuGet e implemente a classe IronArchive para gerenciar arquivos ZIP com métodos como ExtractArchiveToDirectory .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me