A ZIP file is a popular, decades-old file format
used for file compression and archiving. Commonly, such files have a .zip extension and are used to reduce the size of one or
more files and/or to archive multiple files and folders into a single file. Additionally, the contents of a ZIP file can
optionally be encrypted and viewable only by those with the password. Both Microsoft’s Windows and Apple’s Mac OS provide
built-in operating system support for opening, reading, and creating ZIP files.
In a recent project I needed to create ZIP files from an ASP.NET application on the fly. Specifically, there was a web page
that listed a series of data files that were created by an external process. Users visiting this page select a file to
download, which then displays a dialog box in their browser, allowing them to open the file or save it to their hard drive.
This user interface worked for most of our users, as they were only interested in downloading one or two files at most.
However, some of our users needed to download upwards of 20 files. For them, clicking a download link, saving it to their
hard drive, and repeating, 20 times, was frustrating and time consuming. To improve this user interface we created the notion
of “download profiles,” which allow users to associate a name – like “Accounting Files” – with a collection of file types
that are available for download. After creating a “download profile,” a user could then choose to download all available
files that belong to that profile. This would create a ZIP file with the appropriate files and display a dialog box in the
user’s browser, allowing them to open or save the ZIP. With this enhancement, our power users can now download their 20 files
with one mouse click.
This ASP.NET tutorial starts with a look at different ways to create ZIP files in an ASP.NET application,
but then focuses on using the free and open-source DotNetZip
library. To read the rest of this ASP.NET tutorial, Create ZIP Files From An ASP.NET Framework
Application, click here.