压缩文件.zip问题
damonxx opened this issue · comments
CreateFromDirectory压缩文件夹为zip压缩文件后,无法打开压缩文件,提示缺少压缩分卷
可否写个能够重现该问题的单元测试?
经测试,没有发现该问题,PathHelper能够压缩和解压缩文件夹,并且7z能够打开压缩文件
经测试,没有发现该问题,PathHelper能够压缩和解压缩文件夹,并且7z能够打开压缩文件
压缩成 .7z是没问题的,Newlife.Core用的版本是8.11.2021.1225
就是压缩zip,现在不支持7z等其它格式了。目前压缩的zip是标准格式
就是压缩zip,现在不支持7z等其它格式了。目前压缩的zip是标准格式
Newlife.Core版本8.11.2021.1225,.Net Framework 4.0 控制台程序
try { var di = new DirectoryInfo(@"D:\新建文件夹"); PathHelper.Compress(di, @"D:\11.zip"); var fi = new FileInfo(@"D:\11.zip"); PathHelper.Extract(fi, @"D:\11"); } catch(System.Exception ex) { XTrace.WriteException(ex); }
catch到的错误:
16:37:38.346 1 N - NewLife.Compression.ZipException: 不是有效的Zip格式! ---> NewLife.Compression.ZipException: 0x00000004处签名错误! 在 NewLife.Compression.ZipEntry.ReadEntry(ZipArchive zipfile, Stream stream, Boolean first, Boolean embedFileData) 在 NewLife.Compression.ZipArchive.Read(Stream stream, Nullable
1 embedFileData)
在 NewLife.Compression.ZipArchive.EnsureRead()
--- 内部异常堆栈跟踪的结尾 ---
在 NewLife.Compression.ZipArchive.EnsureRead()
在 NewLife.Compression.ZipArchive.get_Entries()
在 System.IO.PathHelper.Extract(FileInfo fi, String destDir, Boolean overwrite)`
这个是NET40版本,你试试最新的NET60版本,早期版本可能的确有bug。
或者你的项目调整为net4.61或以上,从Nuget引用beta版newlife.core