Introduction
This topic demonstrates how to create a zip file in memory.
Basic steps
To create a zip file in memory, the following steps must be performed:
-
Retrieve a reference to a folder whose files will be added to the zip file using either the DiskFolder, ZippedFolder, ZipArchive, MemoryFolder or IsolatedFolder classes. With Xceed Zip for .NET, a folder is a folder; it does not matter if it is located within a zip file, on disk or in memory.
-
Retrieve a reference to a new or existing zip file using the ZipArchive class. Because we want the zip file to reside in memory, we will use a MemoryFile in the constructor of the ZipArchive class.
-
Call the CopyFilesTo method to copy the entire contents of the folder to the zip file.
Demonstration
This example demonstrates how to copy the contents of a folder located on disk to a zip file located in memory.
| VB.NET | Copy Code |
|---|---|
|
| |
| C# | Copy Code |
|---|---|
using Xceed.Zip; | |
Things you should consider
The main questions you should ask yourself when copying items to a zip file are:
-
Do you want to filter (specify specific files and folders) the items that are to be added to the zip file? Use filters.
-
Do you want to display the status of the operation? See the Handling events topic.
-
Do you want to add items into a specific folder within the zip file? Create an instance of a ZippedFolder object rather than a ZipArchive object.
-
Do you want to change the location of the temporary folder. Set the ZipArchive's TempFolder or DefaultTempFolder property.
-
Do you only want to copy a specific file or folder? Use the CopyTo method.
-
Do you want to move items rather than copy them? Use the MoveTo and MoveFilesTo methods.
-
Do you want to modify the default extra headers that are stored to a zip file? Set the ZipArchive's DefaultExtraHeaders property.
All zip files will automatically be created in the Zip64 zip file format if the limitations of the regular Zip format are reached.
