在 ASP.NET 2.0 中,我们需要获取多个文件夹及其文件。我们的要求是获取所有文件夹并需要创建一个 zip 文件。任何人都可以在这方面帮助我。
谢谢。
查看DotNetZip - 它非常灵活,性能对于生产环境来说绰绰有余。
您可以在下载 SharpZipLib 时浏览代码示例,以了解如何压缩和解压缩文件,这是一个示例:
public static void Main(string[] args)
{
ZipFiles("D:\\SharpZip","D:\\Zipped.zip");
}
private static void ZipFiles(string inputDirectory, string outputDirectory)
{
if (Directory.Exists(inputDirectory))
{
string[] filenames = Directory.GetFiles(inputDirectory);
using (ZipOutputStream zipStream = new ZipOutputStream(File.Create(outputDirectory)))
{
zipStream.SetLevel(9);
byte[] buffer = new byte[4096];
foreach (string file in filenames)
{
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
zipStream.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(file))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zipStream.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
}
zipStream.Finish();
zipStream.Close();
}
}
}