gpt4 book ai didi

asp.net - .NET Ionic.Zip : Compressed or Uncompressed size, 或偏移量超过最大值

转载 作者:行者123 更新时间:2023-12-04 04:12:21 25 4
gpt4 key购买 nike

我有以下设置:

  • Win2008服务器
  • Ionic.zip 引用模块
  • 用于构建 zip 文件的单独驱动器
  • .NET 4.0

  • Web 应用程序即时构建 zip 包,并允许客户端下载包。

    这个系统运行得非常好……直到现在。

    最近我们添加了一些较大的文件(2GB 到 11GB),在下载到客户端之前,它们都需要打包在一个包中。最初我将这个系统设置为在 C 上发生:(一个错误)。马上,特别是对于较大的文件,我开始收到“磁盘上没有足够的空间”错误。我做的第一件事是将系统移动到一个 100GB 的独立驱动器 (K:) 上工作。现在这些文件已在 Intranet 上发布到生产环境中,但我仍然收到这些错误。
  • 我安排了一个每晚清理驱动器的任务,所以即使是 100GB,我也不应该收到错误
  • C: 和 K: 都有足够的空间
  • 我还不知道是 C:(一个未知的临时文件夹??)还是 K: 填满了
  • 更新 - 查看事件日志,它是 K: 正在填满,但是当我检查它时,它没有满......所以我假设临时文件问题......或者?

  • 有没有人可以对此有所了解或就发生的故障排除提供建议?

    编辑-----------

    我认为我要求的压缩方法可能与文件大小有关。我现在看到其他错误看起来像:

    Compressed or Uncompressed size, or offset exceeds the maximum value. Consider setting the UseZip64WhenSaving property on the ZipFile instance.



    我尝试添加行 zip.CompressionMethod = Zip64Option.AsNecessary认为 zip64 将是必要的,但后来我得到了错误 Unsupported compression method .我不确定这些新信息可以从哪里开始。我认为 ZipDotNet 会处理所有这些。

    由于用户正在尝试下载此文件,这变得越来越紧迫。我现在正在开发一个补丁作为解决方法。

    更多编辑--------

    当我意识到常规 zip 的大小限制为 4GB 时,有一种 DUH 时刻。 Zip64 的大小限制要大得多。

    我添加了 zip.UseZip64WhenSaving = True 行到我的代码,这似乎已经解决了这个问题。到目前为止,没有任何问题。

    最佳答案

    解决方案围绕着不注意 zip 文件大小限制。

    使用 DotNetZip 压缩大尺寸文件时,您的 asp.net 编码中会出现如下错误:

  • 磁盘空间不足
  • 压缩或未压缩大小,或偏移量超过最大值。考虑在 ZipFile 实例上设置 UseZip64WhenSaving 属性

  • 当您看到这些错误时,最好通过添加以下行来更改您的 asp 代码:
    [yourZipReference].UseZip64WhenSaving = Zip64Option.Always

    这将更改您的代码以将文件保存为 zip64 格式,因此您可能需要在进行此更改之前进行文件大小检查。

    还有一行:
    [yourZipReference].CompressionMethod = CompressionMethod.BZip2;// or CompressionMethod.Deflate or CompressionMethod.None

    这将导致模块使用适合这种情况的 zip 压缩方法,但我还没有测试过这个。

    关于asp.net - .NET Ionic.Zip : Compressed or Uncompressed size, 或偏移量超过最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901652/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com