我在办公室的 ASP.NET Web应用程序中实现了一项功能,让人们上传zip文件,其中有一个XML文件可以导入到数据库中。
问题是,我在使用System.IO.Compression.ZipFile
时收到此错误:
"中央目录末尾的预期条目数没有 对应于中央目录中的条目数。
当我使用System.IO.Compression.DeflateStream
时,我收到此错误:
"块长度与其补码不匹配。"
Windows zip 不是使用相同的库吗?从.Net到Windows zip的zip格式/算法是否不同?
如果有人能提出解决方案,我将不胜感激。
这可能是 .NET 实现中用于 deflate、zip 等支持的另一个错误。 你应该尝试DotNetZip。
我发现了这个问题,似乎 .net 库解压缩文件没有任何问题,问题在于文件上传到我的 asp.net 应用程序后写入磁盘的方式,编码问题已经到位,因为我将确切的字节写入磁盘,我能够使用 .Net 库解压缩它。
感谢大家的贡献。