为什么我无法从 Procore 下载和打开 .ZIP 文件?

背景

尝试下载并打开某些 .zip 文件时可能会出错 Procore 中的 .zip 文件。 例如,你可能在从 Procore批量下载文档后遇到错误。
注意:此错误仅影响Windows计算机。

答案

你可能会遇到错误的原因与 Windows 操作系统如何解析 .ZIP 文件内容的文件名和基础文件夹结构有关。所有 Windows 计算机都存在的一个已知限制是,当 .ZIP 文件超出 260 个字符的文件名限制时,其无法打开这些文件。

创建 .ZIP 文件时,系统会保留包括的文件和基础文件夹结构,以确保在解压缩/解包其内容时,文件会放入与原始文件路径匹配的正确文件夹结构中。例如,你可能会拥有包含类似如下文件夹结构的 .ZIP 文件:

//Documents/Projects/1234-Parkway-Place/Public/Bid-Documents/Specifications/Manual_v1.pdf

在上面的示例中,完整路径包含 87 个字符。如果打开文件,Windows 会尝试将文件夹和文件放入本地计算机的默认目标路径,这可能是:C://Windows/Users/John/Downloads/

在此示例中,目标路径包含 33 个字符。当两个路径组合在一起时 (87 + 33),它总共产生 120 个字符。

Windows 计算机可以正确处理原始和目标文件路径组合长度小于 260 个字符的 ZIP 文件。如果组合字符长度超出 260 个字符的限制,Windows 将无法打开该文件,且你将收到错误消息或失败事件。

解决方案

用户需要将其 Microsoft .NET Web 框架更新到 4.6.2 或更高版本。

假设原始文件路径不超过 260 个字符,另一种选择是将默认目标路径更改为根级别路径(例如 C://)。更改默认目标路径的最简单方法是从 Web 浏览器窗口保存图像并选择根级别目标路径(例如 C://)。然后再次从 Procore 下载 .ZIP 文件。(Windows 会自动记住解压缩 .ZIP 文件的最新目标路径。)通常情况下,较短的目标路径将允许你成功打开/解压缩 .ZIP 文件。但是,如果 .ZIP 文件本身超出 260 个字符的限制,你将需要联系创建并向你发送 .ZIP 文件的人员,并要求他们更改其文件夹结构和文件命名约定,以便创建的 .ZIP 文件不会超出 260 个字符的限制。有关更多信息,请参阅 Microsoft 文档:最大路径长度限制