I want a user to be able to upload a zip file. Then I wan't to unzip this file and display its content. How would you implement this in asp.net mvc?
Asked
Active
Viewed 2,233 times
0
-
nothing, i have no idea. That's why i'm asking. – Luke Dec 07 '11 at 15:01
1 Answers
1
There are quite a few solutions for handling compressed archives in .NET and the following thread covers several options: Unzip files programmatically in .net.
DotNetZip appears to be very popular on Codeplex. I found this code sample in their documentation for listing all of the entries in a given archive in the context of a console app. It should be fairly easy to adapt to a web context:
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
foreach (ZipEntry e in zip)
{
if (header)
{
System.Console.WriteLine("Zipfile: {0}", zip.Name);
if ((zip.Comment != null) && (zip.Comment != ""))
System.Console.WriteLine("Comment: {0}", zip.Comment);
System.Console.WriteLine("\n{1,-22} {2,8} {3,5} {4,8} {5,3} {0}",
"Filename", "Modified", "Size", "Ratio", "Packed", "pw?");
System.Console.WriteLine(new System.String('-', 72));
header = false;
}
System.Console.WriteLine("{1,-22} {2,8} {3,5:F0}% {4,8} {5,3} {0}",
e.FileName,
e.LastModified.ToString("yyyy-MM-dd HH:mm:ss"),
e.UncompressedSize,
e.CompressionRatio,
e.CompressedSize,
(e.UsesEncryption) ? "Y" : "N");
}
}
Without actually testing it, it looks like this particular implementation may not handle folder structures, so you might need to look through their documentation a bit for more info.

Community
- 1
- 1

Nathan Taylor
- 24,423
- 19
- 99
- 156