使用 IRONZIP

如何在 .NET Core 中解壓縮文件

發佈 2024年1月4日
分享:

1. 介紹

「解壓縮」描述的是從 ZIP 壓縮檔案中提取文件和文件夾並將其解壓縮的過程。 「解壓縮」指的是將壓縮的文件或目錄恢復到其原始狀態的過程,以便在壓縮後可以再次訪問和使用它們。ZIP 文件. 我們可以將各種類型的文件(如圖片、TXT 文件等)添加到 ZIP 文件中,

用戶可以通過解壓縮來獲取 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 Framework 中,它提供了多種功能以程式化地操作 ZIP 檔案,具備簡單性和多樣性。

    如需最新的功能、能力、兼容性以及任何後續版本新增功能的詳細信息,請參見官方文檔、發行說明或 IronZIP 網站,因為軟體庫會隨著時間的推移不斷更新和改進。要了解更多,請點擊這裡.

3.2 在 Visual Studio 中建立新專案

啟動 Visual Studio 程式後,選擇檔案選項。 選擇「新專案」,然後選擇「Asp.Net Core Web 應用程式」。

在相關的文本框中輸入專案名稱並選擇檔案位置。 接下來,點擊「Create」按鈕,然後選擇所需的 .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 包內的所有文件和目錄。 當出現異常情況時,例如 ZIP 檔案丟失或提取過程中出現問題,請確保您妥善處理。 可以使用 try-catch 區塊來捕獲和處理例外情況。 對於大量提取活動,ExtractArchiveToDirectory 方法通過管理 ZIP 壓縮檔案中的所有文件和目錄的提取,使提取更輕鬆。可以借助 IronZIP 擴展方法創建 ZIP 文件。

如需了解有關IronZIP庫的更多信息,請點擊這裡.

5. 結論

開發人員可以使用 IronZIP 來處理 ZIP 檔案的壓縮、提取和操作,這是一個專為在 C# 應用程式中管理 ZIP 檔案而設計的 .NET 程式庫。 通過簡化複雜的程序,並使提取特定文件、批量提取文件、添加條目和修改現有檔案等文件操作更簡單,IronZIP 採用了一個直觀的 API。

使用此函式庫,開發人員可以在 C# 專案中增強檔案管理功能,而無需從頭開始。 它輕鬆整合。 由於其多功能性,ZIP內容可以動態更改,以添加、修改和刪除文件以滿足各種應用需求。

當處理像遺失或損壞的ZIP檔案這類情況時,IronZIP 強大的異常處理功能保證一致的工作流程並使錯誤修復更加容易。 過去,IronZIP 為在 .NET 環境中管理 ZIP 檔案提供了一個值得信賴的解決方案,儘管我的理解可能無法反映最最近的升級。 IronZIP的價格從$749起,並附帶免費的開發者版本。 如需了解更多關於授權的資訊,我們可以參考這裡. Iron 軟體產品檢查這裡.

< 上一頁
ZipArchive C#(開發者教程)
下一個 >
如何在 C# 中打開 Zip 文件

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 5,596 查看許可證 >