使用IRONZIP

如何在.NET Core中解压文件

发布 2024年一月4日
分享:

1.导言

"解压缩 "是指将文件和文件夹从 ZIP 压缩包中取出并解压的过程。"解压缩 "指的是将压缩文件或目录恢复到其原始状态的过程,以便在将其压缩成 ZIP 文件后可以再次访问和使用。 压缩文件.我们可以在压缩文件中添加各种类型的文件,如图像、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 库 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 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 压缩文件可以有任意数量的内容,使用它可以提取内容并保存到文件指定的目录中。作为单个 ZIP 文件内容提取点的目录路径是 ExtractArchiveToDirectory 方法所需的唯一参数。

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

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

5.结论

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

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

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

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

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

免费NuGet下载 总下载量: 4,045 查看许可证 >