使用 IRONZIP 如何在 .NET Core 中解压缩文件 Curtis Chau 已更新:七月 28, 2025 下载 IronZIP NuGet 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 1.简介 "Unzip" 描述了从 ZIP 存档中取出文件和文件夹并解压缩它们的过程。 "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. 我们可以将各种类型的文件,如图像、TXT 文件等,添加到 ZIP 文件中。 用户可以通过解压缩检索 ZIP 存档的内容,这个过程是压缩过程的逆过程。 访问打包在一起以更有效地传输、存储或共享的单个文件或文件夹是一个常见的用途。 完成 "unzip" 程序后,文件恢复其原始结构,用户可以根据需要读取、更改或使用它们。 在本文中,我们将在 Asp.net core 中使用 IronZIP 存档库解压文件。 2. Asp.net Core 中的解压文件总结 创建一个新的 Asp.net Core 项目。 在创建的项目中安装 IronZIP 库。 要解压文件,实例化 IronArchive 类。 可以使用 ExtractArchiveToDirectory 函数提取 ZIP 文件。 指定需要解压文件的目标文件。 3. IronZIP 库 Iron Software 创建了 .NET 库 IronZIP,使在 .NET 应用中处理和管理 ZIP 文件更加容易。 它为程序员提供了工具和功能,使他们可以以各种方式与 ZIP 交互。 这些包括生成、提取、压缩、解压缩、加密、修改 ZIP 文件中的文件和目录。 3.1 IronZIP 的功能 ZIP 文件创建: .NET 应用从头开始生成全新 ZIP 存档的能力。 提取和解压缩: 从现有 ZIP 包中删除文件和目录并解压内容的能力。 压缩: 提供将文件和文件夹以缩小大小压缩到 ZIP 存档中以便于传输或存储的工具。 密码保护和加密: 该功能提供应用密码保护和加密 ZIP 文件以保护 ZIP 存档内容的能力。 文件操作: 允许程序员在 ZIP 包中添加、删除、更新或以其他方式操作文件和目录。 兼容性: 旨在各种 .NET 环境中运行,兼容多个框架版本。 性能优化: 针对最大化速度,使 .NET 程序可以更有效地管理大型 ZIP 文件或数据集。 在为应用管理 ZIP 文件时,开发人员可能发现 IronZIP 是一个有用的工具。 在 .NET 框架内,它提供了多种功能,用于以编程方式处理 ZIP 存档,提供简单和灵活性。 关于功能、能力、兼容性以及后续版本中包含的任何新功能的最新详情,请参阅官方文档、发行说明或 IronZIP 网站,因为软件库会不断更新和改进。了解更多,点击 这里。 3.2 在 Visual Studio 中创建新项目 启动 Visual Studio 程序后选择文件选项。 选择"新项目",然后选择"Asp.Net core Web App"。 在相关文本框中输入项目名称并选择文件位置。 接下来,点击创建按钮并选择所需的 .NET 框架版本。 Visual Studio 项目现在将生成所选择的应用程序结构。 在这种情况下,使用的是 ASP.NET MVC。 因此,我们有两个选项:要么使用现有控制器,该控制器允许您添加代码并构建/运行应用程序,要么创建一个新的控制器。 然后可以添加库并测试代码。 4. IronZIP 包下载 4.1 使用Visual Studio 您可以使用 Visual Studio 的 NuGet 包管理器功能直接将包安装到您的解决方案中。 您可以使用下面的快照访问 NuGet 包管理器。 它提供了一个搜索框,调出 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 { // 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"); } } } 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 ' Retrieve the uploaded file from the form Dim file = Request.Form.Files(0) ' Set the file path where the file will be saved Dim filepath As String = "C:\temp\uploads\" ' Save the uploaded file to the specified filepath Using stream = New FileStream(filepath & file.FileName, FileMode.Create) file.CopyToAsync(stream) End Using ' Extract the ZIP archive to the specified directory Dim extractfile As String = "C:\temp\extracted" IronZipArchive.ExtractArchiveToDirectory(filepath & file.FileName, extractfile) Catch ex As Exception ' Handle exception and redirect to Error page _logger.LogError(ex, "An error occurred while extracting the ZIP file.") Return RedirectToAction("Error") End Try Return RedirectToAction("Get") End Function End Class End Namespace $vbLabelText $csharpLabel 在上述代码中,确保导入 IronZIP 命名空间。 IronZIP 的 IronZipArchive 类包含 ExtractArchiveToDirectory 函数。 这允许我们传递两个参数:源文件系统和解压文件的路径。 ZIPArchive zip 文件可以包含任意数量的内容,内容可以使用它提取并保存到指定文件目录。 ExtractArchiveToDirectory 方法所需的唯一参数是用作单个 ZIP 文件内容提取点的目录路径。 为了将所有文件提取到指定目录,该函数内部遍历 ZIP 包内的所有文件和目录。 当出现异常时,例如 ZIP 文件丢失或提取过程中出现问题时,请务必仔细处理。 可以使用 try-catch 块来捕捉和处理异常。 对于大量提取操作,ExtractArchiveToDirectory 方法通过管理 ZIP 存档中所有文件和目录的提取,使提取更简便。可以借助 IronZIP 扩展方法创建 ZIP 文件。 要详细阅读 IronZIP 库,点击 这里。 5. 结论 开发人员可以使用 IronZIP,这是一款专门为 C# 应用中管理 ZIP 文件而设计的 .NET 库来处理 ZIP 文件的压缩、提取和操作。 通过简化复杂的流程,IronZIP 使用直观的 API,使文件操作(如提取特定文件、批量提取文件、添加条目和修改现有存档)变得更容易。 使用此库,开发人员可以提高文件管理能力,而无需在 C# 项目中从头开始。 它集成得非常顺畅。 由于其灵活性,ZIP 内容可以动态调整,文件可以根据不同的应用需求进行添加、更改和删除。 在处理例如 ZIP 文件丢失或损坏等情况时,IronZIP 的强大异常处理功能可保证一致的工作流并简化错误修正。 尽管 IronZIP 过去一直为 .NET 环境中管理 ZIP 文件提供可靠解决方案,但请注意,我的理解可能并未反映最新的升级。 IronZIP 的定价从 $799 开始,并附带一个免费开发者版本。 要了解更多有关许可证的信息,我们可以参考 这里。 有关 Iron 软件产品的信息,请查看 这里。 常见问题解答 如何在 ASP.NET Core 中解压文件? 您可以使用 IronZIP 库在 ASP.NET Core 中解压文件。首先,在 Visual Studio 中通过 NuGet 包管理器安装 IronZIP,然后使用 IronArchive 类和 ExtractArchiveToDirectory 方法将 ZIP 档案中的文件提取到指定目录。 处理 ZIP 文件的 IronZIP 的主要功能是什么? IronZIP 提供了一些处理 ZIP 文件的功能,包括创建、提取、压缩、加密和操作 ZIP 文件。它支持密码保护,并优化性能,兼容各种 .NET 框架。 如何在 C# 项目中安装 IronZIP? 要在 C# 项目中安装 IronZIP,请使用 Visual Studio 中的 NuGet 包管理器。搜索 'IronZIP' 并安装它。或者,使用包管理器控制台并运行命令 Install-Package IronZIP。 可以用 IronZIP 加密 ZIP 文件吗? 可以,IronZIP 可以加密 ZIP 文件。它包括密码保护和加密工具,确保 ZIP 档案中的内容安全。 如果在 ASP.NET Core 中的 ZIP 文件提取过程中遇到错误,我该怎么办? 如果您在 ZIP 文件提取过程中遇到错误,请使用 IronZIP 的异常处理功能。实现 try-catch 块来处理诸如缺失或损坏的 ZIP 文件等异常。 IronZIP 是否有可供开发者使用的免费版本? 是的,IronZIP 提供一个免费开发者版本,让您可在不产生初始费用的情况下探索其功能,同时其也提供付费许可。 为什么我应该在我的 ASP.NET Core 项目中使用 IronZIP 来管理 ZIP 文件? IronZIP 通过提供直观的 API 来创建、提取和修改 ZIP 档案,简化了 ASP.NET Core 项目中的 ZIP 文件管理,增强了文件管理能力。 IronZIP 如何处理 ZIP 文件提取? IronZIP 使用 ExtractArchiveToDirectory 方法来处理 ZIP 文件提取,将 ZIP 档案中的所有文件和目录提取到指定目录路径,有效地管理 ZIP 包中的每个元素。 使用 IronZIP 创建新的 ASP.NET Core 项目的过程是什么? 要使用 IronZIP 创建新的 ASP.NET Core 项目,请在 Visual Studio 中设置新项目,通过 NuGet 安装 IronZIP,并实施 IronArchive 类来使用诸如 ExtractArchiveToDirectory 之类方法管理 ZIP 文件。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新六月 22, 2025 如何在 C# 中将 ZIP 归档文件提取到目录 ZIP 文件是将多个文件和目录捆绑成单一归档的便捷方式。 阅读更多 已更新七月 28, 2025 如何在 C# 中创建带密码的 ZIP 文件 在本文中,我们将探索如何使用 C# 和 IronZIP 库创建一个密码保护的 ZIP 文件。 阅读更多 已更新七月 28, 2025 如何在 C# 中将文件解压到目录 无论您是在开发 Windows 应用程序还是 .NET 项目,理解文件解压过程都非常有价值。 阅读更多 ZipArchive C#(开发人员教程)如何在 C# 中打开 ZIP 文件