【发布时间】:2016-11-26 03:01:46
【问题描述】:
我使用 Ionic.Zip 压缩目录并将其拆分为多个文件。结果是一堆名为 myfile.zip、myfile.z01、myfile.z02、...的文件。
当我使用 Windows 资源管理器查看 zip-File 时,我可以看到文件列表。
但是当我尝试使用 Windows 资源管理器提取存档时,我收到一条消息同一卷不能同时用作源和目标
当我使用 7zip 打开 zipfile 时,我收到消息 file myfile.zip cannot be open as archive
创建和提取单个 zip 存档可以正常工作。
这是我使用 Ionic.Zip 创建 zip 存档的代码
using (ZipFile zip = new ZipFile())
{
//zip.AlternateEncoding = System.Text.Encoding.UTF8;
zip.AddDirectory(sourceDirectory);
//zip.MaxOutputSegmentSize = 0; //Single file
zip.MaxOutputSegmentSize = 1024 * 1024 * 8; //Splitt up into 8 MB pieces
//zip.Password = zipPassword;
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.None;
zip.CompressionMethod = CompressionMethod.None;
zip.Save(zipFilePath);
segmentsCreated = zip.NumberOfSegmentsForMostRecentSave;
}
return segmentsCreated;
顺便说一句,我尝试了几种 CompressionLevels、CompressionMethods 的组合,有密码和无密码,... 没有变化 :(
更新 1:
拆包作品:
using (ZipFile zip = ZipFile.Read(zipFilePath))
{
zip.Password = zipPassword;
zip.ExtractAll(targetDirectory, ExtractExistingFileAction.OverwriteSilently);
}
【问题讨论】: