首页 新闻 会员 周边

C# 不能压缩超过4G的文件,请问有什么解决办法吗

0
悬赏园豆:50 [已解决问题] 解决于 2019-08-23 11:40

我引用的是 Ionic.Zip.dll

//代码部分
using (ZipFile zip = new ZipFile(Encoding.Default))
{
ZipEntry e = zip.AddFile(sourceFile);
zip.Save(Path.Combine(targetFileName, fName));
}

//提示错误
压缩文件发生异常:Compressed or Uncompressed size, or offset exceeds the maximum value. Consider setting the UseZip64WhenSaving property on the ZipFile instance. 在 Ionic.Zip.ZipEntry.SetZip64Flags()
在 Ionic.Zip.ZipEntry.PostProcessOutput(Stream s)
在 Ionic.Zip.ZipEntry._WriteEntryData(Stream s)
在 Ionic.Zip.ZipEntry.Write(Stream s)
在 Ionic.Zip.ZipFile.Save()
在 Ionic.Zip.ZipFile.Save(String fileName)
在 BDP.Task.Base.BackupTaskBase.DoZipFile(String targetFileName, String sourceFile)

爱彤猫猫的主页 爱彤猫猫 | 初学一级 | 园豆:157
提问于:2019-08-22 15:59
< >
分享
最佳答案
1

Consider setting the UseZip64WhenSaving property on the ZipFile instance. 在 Ionic.Zip.ZipEntry.SetZip64Flags()

看提示,意思是可以自己设置最大长度,设置一下试试

收获园豆:50
会长 | 专家六级 |园豆:12401 | 2019-08-22 16:06

该在哪设,怎么设呢?

爱彤猫猫 | 园豆:157 (初学一级) | 2019-08-22 16:07

@爱彤猫猫: setting the UseZip64WhenSaving property on the ZipFile instance 。人家说的很明白啊。你看看有这个属性吗

会长 | 园豆:12401 (专家六级) | 2019-08-22 16:07

@会长: 谢谢提示,我试试。

爱彤猫猫 | 园豆:157 (初学一级) | 2019-08-22 16:12

@会长: 谢谢,解决了

在压缩前增加这段代码: zip.UseZip64WhenSaving = Zip64Option.AsNecessary;

爱彤猫猫 | 园豆:157 (初学一级) | 2019-08-23 11:39

@爱彤猫猫: 彩

会长 | 园豆:12401 (专家六级) | 2019-08-23 11:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册