对于“_”标志性的 zip c#,zip 提取全部失败

Posted

技术标签:

【中文标题】对于“_”标志性的 zip c#,zip 提取全部失败【英文标题】:zip extract all fail for the "_" iconic zip c# 【发布时间】:2018-03-10 08:53:06 【问题描述】:

我正在尝试解压缩包含文件名或文件夹名称为“文件夹名称”的文件夹。

try
    zip.extractall(path);
    
catch(Exception ex)
    log.info(ex.message);
    

如果文件夹名称包含下划线,则抛出以下异常:

"指定的路径、文件名或两者都太长。完全 限定文件名必须少于 260 个字符,并且 目录名称必须少于 248 个字符"

我正在使用标志性的 zip dll 进行解压缩。有没有办法解决这个问题。

【问题讨论】:

你引用的错误表明下划线不是原因,你能验证一下吗? 如果我删除下划线,它的工作正常@UlrichEckhardt 不知道为什么路径有问题,但是你总是可以提取到一个临时位置并在完成后复制 此外,如果您使用的是 DotNetZip,原始 codeplex 项目中会讨论人们遇到下划线问题。也许只是使用不同的库 【参考方案1】:

这是微软的限制,我们不能添加超过 260 个字符。此问题已在 Windows 10 中修复。

就我而言,我从该位置删除了垃圾路径。现在,它工作正常。

【讨论】:

以上是关于对于“_”标志性的 zip c#,zip 提取全部失败的主要内容,如果未能解决你的问题,请参考以下文章

[zlib]_[0基础]_[使用Zlib完整解压zip内容]

如何在 C# 中异步提取 zip 文件以不阻塞 UI?

如何在.net core mvc c#中提取格式.gz/.zip/.rar/.tar.gz

C#中如何通过ZipFile类操作ZIP文件(压缩、解压)

ueditor如何去掉右键菜单

如何在 C# 中使用 Ionic-zip 下载大文件时修复 zip 文件损坏错误