DotNetZip 有一个奇怪的问题,我似乎无法找到解决方案。我现在已经搜索了几个小时,但我找不到任何关于此的内容,所以就到这里了。
var ms = new MemoryStream();
using (var archive = new Ionic.Zip.ZipFile()) {
foreach (var file in files) {
// string byte[]
var entry = archive.AddEntry(file.Name, file.Data);
entry.ModifiedTime = DateTime.Now.AddYears(10); // Just for testing
}
archive.Save(ms);
}
return ms.GetBuffer();
我需要添加修改时间,这非常关键,但现在我只有一个虚拟时间戳。
当我用 WinRAR 打开文件时,它显示“存档意外结束”。每个单独的文件都有校验和 00000000,WinRAR 显示“存档格式未知或已损坏”。我可以修理它,这使它的尺寸缩小了 20%,一切正常。但这不是真的有用..
当我在添加所有条目后创建断点时,我可以看到zip.Entries
所有条目都具有相同的错误 CRC,但所有数据似乎都在那里。所以问题不应该是我保存存档的方式。
我在其他地方使用我的文件集合没有问题,这增加了 DotNetZip 的奇怪之处。好吧,或者我误解了一些东西:)