Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
"Unzip" describes the process of taking files and folders out of a ZIP archive and decompressing them. "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. We can add various types of files into zip files like images, TXT files, etc.
Users can retrieve the contents of a ZIP archive via unzipping, which is the process of reversing the compression process. Accessing individual files or folders that have been packed together for more effective transmission, storage, or sharing is a popular use for it. After the "unzip" procedure is finished, the files have their original structure and can be read, changed, or used as needed by the user. In this article, we are going to unzip files in the Asp.net core using the IronZIP Archive Library.
IronArchive
class.ExtractArchiveToDirectory
function.Iron Software created the .NET library IronZIP, which makes it easier to handle and manage ZIP files in .NET applications. It offers tools and features to programmers, so they may interact with ZIP in a variety of ways. These include generating, extracting, compressing, decompressing, encrypting, and modifying files and directories inside the ZIP files.
When managing ZIP files for their applications, developers might find IronZIP a useful tool. Within the .NET framework, it provides a variety of features for working with ZIP archives programmatically, offering simplicity and versatility.
For the most recent details on features, capabilities, compatibility, and any new functionality included in later versions, see the official documentation, release notes, or the IronZIP website as software libraries are updated and improved over time. To know more, click here.
Select the File option after launching the Visual Studio program. Choose "new project" and then "Asp.Net core Web App."
In the relevant text box, type the project name and choose the file location. Next, click the Create button and choose the necessary .NET Framework version.
The chosen application's structure will now be generated by the Visual Studio project. In this instance, ASP.NET MVC is being used. Therefore, we have two options: either utilize the current controller, which allows you to add the code and build/run the application, or create a new one.
The library may then be added, and the code tested.
You may install packages directly into your solution using Visual Studio's NuGet Package Manager feature. You may use the snapshot below to access the NuGet Package Manager.
It provides a search box that pulls up a NuGet website package list. The screenshot below shows us where to look for the phrase "IronZIP" in the package manager.
In the image above, a list of pertinent search terms is displayed. Selecting the required option is required to install the solution package.
In Visual Studio, choose Tools > NuGet Package Manager to see the Package Manager Console.
Put the following line in the package manager's terminal tab:
Install-Package IronZip
Upon downloading and installing into the active project, the package is ready for use.
Using the third way, one may get the NuGet package directly from the website.
Navigate there to open the link.
Select the download package choice from the menu on the right.
Double-click the package once it has been downloaded. On its own, it will install itself.
Once more, load the solution and start using it in the project.
Click on this link to obtain the latest package directly from the website. Once downloaded, follow the accompanying procedures to add the package to the project.
You'll need to provide the file name and destination where you wish to extract the file to use IronZIP in C# to extract a specific file from a ZIP archive.
Code sample here:
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
In the above code, make sure that the IronZIP namespace is imported. Included in IronZIP's IronZipArchive
class is the ExtractArchiveToDirectory
function. This allows us to pass two parameters: the source file system and the unzipping file's path. ZIPArchive
zip files can have any number of contents, and contents may be extracted using it and saved to a file-specified directory. The directory path, which is used as the extraction point for the contents of the single ZIP file, is the only parameter required by the ExtractArchiveToDirectory
method.
To extract all the files to the designated directory, this function internally loops over all the files and directories inside the ZIP package. When an exception arises, such as when the ZIP file is missing or there are problems with the extraction procedure, make sure you handle it carefully. Exceptions may be caught and handled with the use of try-catch blocks. For mass extraction activities, the ExtractArchiveToDirectory
method makes extraction easier by managing the extraction of all files and directories within the ZIP archive. Zip files can be created with the help of the IronZIP extension method.
To read more about the IronZIP library, click here.
Developers can handle the compression, extraction, and manipulation of ZIP files with the help of IronZIP, a .NET library designed specifically for managing ZIP files in C# applications. By streamlining intricate procedures and making file operations like extracting particular files, extracting files in bulk, adding entries, and modifying existing archives simpler, IronZIP employs an intuitive API.
With this library, developers may improve file management capabilities without having to start from scratch in C# projects. It integrates effortlessly. Thanks to its versatility, ZIP contents may be dynamically altered, with files being added, changed, and removed to suit a variety of application requirements.
When dealing with situations like missing or damaged ZIP files, IronZIP's strong exception-handling features guarantee a consistent workflow and make mistake remediation easier. While IronZIP has historically offered a trustworthy solution for managing ZIP files in .NET settings, note that my understanding may not reflect the most recent upgrades. IronZIP's pricing starts at $749 and comes with a free developer version. To know more about the license, we can refer here. For the Iron software product, check here.
Unzipping files in ASP.NET Core involves creating a new project, installing the IronZIP library, instantiating the IronArchive class, and using the ExtractArchiveToDirectory function to extract files from a ZIP archive.
IronZIP is a .NET library by Iron Software designed to handle and manage ZIP files within .NET applications. It offers features such as creating, extracting, compressing, and encrypting ZIP files.
You can install IronZIP in Visual Studio using the NuGet Package Manager by searching for 'IronZIP' and installing it into your project. Alternatively, you can use the Package Manager Console with the command 'Install-Package IronZIP'.
IronZIP's main features include ZIP file creation, extraction and decompression, compression, password protection and encryption, file manipulation, compatibility with various .NET frameworks, and performance optimization for handling large ZIP files.
The ExtractArchiveToDirectory function in IronZIP extracts all files and directories from a ZIP archive to a specified directory path, handling each file and directory within the ZIP package.
Yes, IronZIP provides tools for password protection and encryption to safeguard the contents of ZIP archives.
IronZIP simplifies the handling of ZIP files by providing an intuitive API for compressing, extracting, and modifying ZIP archives, improving file management capabilities in ASP.NET Core projects.
Yes, IronZIP offers a free developer version along with its paid licenses, allowing developers to explore its features without initial cost.
IronZIP provides strong exception-handling features. You can use try-catch blocks to catch and handle exceptions like missing or damaged ZIP files during the extraction process.