使用IRONZIP

如何在.NET Core中解压文件

发布 2024年一月4日
分享:

1.导言

"解压缩 "描述的是将文件和文件夹从 ZIP 压缩包中取出并解压的过程。 "解压缩 "是指将压缩文件或目录恢复到其原始状态的过程,以便在将其压缩成.NET、Java、Python 或 Node js 后可以再次访问和使用。压缩文件. 我们可以在压缩文件中添加各种类型的文件,如图片、TXT 文件等、

用户可以通过解压缩(即逆转压缩过程)来获取 ZIP 压缩包的内容。 访问打包在一起的单个文件或文件夹,以便更有效地传输、存储或共享,这是它的一个常用用途。 在完成 "解压 "程序后,文件将保持其原始结构,用户可以根据需要进行阅读、更改或使用。 在本文中,我们将使用 IronZIP Archive Library 来解压 Asp.net Core 中的文件。

2.在 Asp.NET Core 中,解压缩文件摘要

  1. 创建一个新的 Asp.NET Core 项目

  2. 将 IronZIP 库安装到创建的项目中

  3. 要解压文件,请实例化 IronArchive 类。

  4. 可以使用 "ExtractArchiveToDirectory "函数提取 ZIP 文件。

  5. 指定需要解压缩的目标文件。

3.IronZIP 库

Iron Software 创建了 .NET 库IronZIPZIP 文件是.NET 应用程序中的一个重要工具,它使.NET 应用程序更容易处理和管理 ZIP 文件。 它为程序员提供了工具和功能,因此他们可以通过各种方式与 ZIP 进行交互。 这些功能包括生成、提取、压缩、解压、加密以及修改 ZIP 文件内的文件和目录。

3.1 IronZIP 的特点

  • ZIP 文件创建: .NET 应用程序能够从一开始就生成全新的 ZIP 压缩文件。
  • 提取和解压缩: 从预先存在的 ZIP 包中删除文件和目录以及解压缩内容的能力。
  • 压缩: 提供将文件和文件夹压缩为 ZIP 压缩文件的工具,使其体积更小,便于运输或存储。
  • 密码保护和加密: 为保护 ZIP 压缩文件的内容,该功能提供了应用密码保护和加密 ZIP 文件的功能。
  • 文件操作: 允许程序员添加、删除、更新或以其他方式处理 ZIP 包内的文件和目录。
  • 兼容性: 制作成能在各种 .NET 设置中运行,与框架的多个迭代版本兼容。
  • 性能优化: 目标是最大限度地提高速度,使 .NET 程序能够更有效地管理大型 ZIP 文件或数据集。

    在管理应用程序的 ZIP 文件时,开发人员可能会发现 IronZIP 是一款非常有用的工具。 在 .NET Framework 中,它提供了以编程方式处理 ZIP 存档的各种功能,具有简便性和多功能性。

    有关特性、功能、兼容性以及后续版本中包含的任何新功能的最新详细信息,请参阅官方文档、发行说明或 IronZIP 网站,因为软件库会随着时间的推移不断更新和改进。要了解更多信息,请点击这里.

3.2 在 Visual Studio 中创建新项目

启动 Visual Studio 程序后,选择文件选项。 选择 "新项目",然后选择 "Asp.NET Core Web App"。

在相关文本框中键入项目名称并选择文件位置。 接下来,单击 "创建 "按钮并选择必要的 .NET Framework 版本。

现在,所选应用程序的结构将由 Visual Studio 项目生成。 本例中使用的是 ASP.NET MVC。 因此,我们有两个选择:一是利用当前的控制器(允许您添加代码并构建/运行应用程序),二是创建一个新的控制器。

然后可以添加库并测试代码。

4.IronZIP 软件包下载

4.1 使用 Visual Studio

您可以使用 Visual Studio 的 NuGet 软件包管理器功能将软件包直接安装到您的解决方案中。 您可以使用下面的快照访问 NuGet 软件包管理器。

如何在 .NET Core 中解压缩文件:图 1 - 如何访问 NuGet 包管理器

它提供了一个搜索框,可以调出 NuGet 网站的软件包列表。下面的截图向我们展示了在软件包管理器中查找短语 "IronZIP "的位置。

如何在 .NET Core 中解压文件:图 2 - 在 NuGet 包管理器中搜索 IronZIP

上图显示了相关搜索词的列表。 安装解决方案包需要选择所需选项。

4.2 使用 Visual Studio 命令行

在 Visual Studio 中,选择工具 > NuGet 包管理器,查看包管理器控制台。

在软件包管理器的终端选项卡中输入以下一行:

Install-Package IronZip

下载并安装到活动项目后,软件包就可以使用了。

4.3 直接从 NuGet 网站下载

使用第三种方法,可以获得NuGet 软件包译文可直接从网站下载。

点击此处打开链接。

从右侧菜单中选择下载软件包。

下载完成后双击软件包。 它可以自行安装。

然后,加载解决方案并开始在项目中使用。

4.4 直接从 IronZIP 网站下载

单击此链接可直接从以下网站获取最新软件包网站。下载后,请按照附带的程序将软件包添加到项目中。

  • 在解决方案窗口中右击选择项目。
  • 下载完成后,请选择参考资料并浏览其位置。
  • 然后单击 "确定 "添加参考文献。

4.5 在 Asp.NET Core 中解压缩文件

您需要提供文件名和希望提取文件的目的地,才能使用 C# 中的 IronZIP 从 ZIP 压缩包中提取特定文件。

此处为代码示例:

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#

在上述代码中,请确保导入了 IronZIP 命名空间。 IronZIP 的 ZipFile 类中包含 ExtractArchiveToDirectory 函数。 这样,我们就可以传递两个参数,即源文件系统和解压文件的路径。 ZIPArchive 压缩文件可以有任意数量的内容,可以使用它提取内容并保存到文件指定的目录。 目录路径是 ExtractArchiveToDirectory 方法所需的唯一参数,它被用作单个 ZIP 文件内容的提取点。

为了将所有文件提取到指定目录,该技术会在内部循环遍历 ZIP 包内的所有文件和目录。 当出现异常情况时,例如 ZIP 文件丢失或提取过程出现问题,请务必谨慎处理。 可以使用 try-catch 块来捕获和处理异常。 对于大规模提取活动,"ExtractArchiveToDirectory "方法通过管理 ZIP 压缩包内所有文件和目录的提取,使提取变得更容易。借助 IronZIP 扩展方法可以创建 Zip 文件。

阅读有关 IronZIP 库的更多信息,请点击这里.

结论

开发人员可以在 IronZIP 的帮助下处理 ZIP 文件的压缩、提取和操作,IronZIP 是一个 .NET 库,专门设计用于在 C# 应用程序中管理 ZIP 文件。 IronZIP 采用直观的 API,简化了复杂的程序,使提取特定文件、批量提取文件、添加条目和修改现有归档文件等文件操作变得更加简单。

有了这个库,开发人员可以提高文件管理能力,而不必在 C# 项目中从头开始。 毫不费力地集成。 ZIP 具有多功能性,其内容可以动态更改,可以添加、更改和删除文件,以满足各种应用需求。

在处理 ZIP 文件丢失或损坏等情况时,IronZIP 强大的异常处理功能可确保工作流程的一致性,并使错误补救变得更加容易。 过去,IronZIP 为在 .NET 设置中管理 ZIP 文件提供了值得信赖的解决方案,尽管我的理解可能没有反映最新的升级。 IronZIP 的起价为 $749,并提供免费的开发者版本。 要了解有关许可证的更多信息,我们可以参考这里. 对于 Iron Software 产品检查这里.

< 前一页
ZipArchive C#(开发者教程)
下一步 >
如何在C#中打开Zip文件

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 5,404 查看许可证 >