我正在使用此例程从现有目录创建Zipfile。它编译并且不会引发运行时错误。然而,在减小尺寸方面它并没有完成任务。
using Ionic.Zip;
//..
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(SourceFolder);
zip.Save(DestinationFolder + FolderName + ".zip");
}
原始文件夹包含PNG
个图片,一个.xlsx
文件和一个.xml
文件,并且压缩文件夹始终具有相同的大小(不完全相同但非常相似)。可能的原因是什么?坏图书馆?
这些文件夹不断生成。因此,占用磁盘上的大量空间,我们需要每天检查/清理。我该怎么做才能减少这种情况?
答案 0 :(得分:5)
你可以尝试添加这一行:
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
但正如@JonSkeet所说,它不会做太多。图片和视频不会压缩得更多。
答案 1 :(得分:2)
我在codeplex上找到了许多可用的示例:https://dotnetzip.codeplex.com/wikipage?title=CS-Examples&referringTitle=Examples
但我找到的最相关的是这个,其中包括选择最佳压缩方法:
using (ZipFile zip = new ZipFile())
{
zip.CompressionLevel= Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddFile("Datafeed-2008-12-20.csv");
zip.Save(ZipFileToCreate);
}
我希望这会有所帮助。