.NET Ionic.Zip:压缩或未压缩大小,或偏移量超过最大值

2024-03-13

我进行了以下设置:

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

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

该系统一直运行良好......直到现在。

最近我们添加了一些较大的文件(2GB 到 11GB),在下载到客户端之前,所有这些文件都需要打包在一个包中。最初我把这个系统设置为全部发生在 C: 上(一个错误)。立即,尤其是对于较大的文件,我开始收到“磁盘上没有足够的空间”错误。我做的第一件事是将系统转移到 100GB 独立驱动器上运行 (K:)。现在这些文件已发布到 Intranet 上的生产中,我仍然收到这些错误。

  1. 我安排了一项每晚清理驱动器的任务,因此即使是 100GB,我也不应该出现错误
  2. C:和K:都有足够的空间
  3. 我还不知道是 C:(未知的临时文件夹?)还是 K: 已满
  4. 更新 - 查看事件日志,它是 K: 正在填满,但是当我检查它时,它没有满...所以我假设临时文件问题...或者?

有没有人可以阐明这一点或就解决正在发生的问题提供建议?

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

我认为我所调用的文件大小可能与压缩方法有关。我现在看到其他错误,如下所示:

压缩或未压缩的大小,或偏移量超过最大值。考虑在 ZipFile 实例上设置 UseZip64WhenSaving 属性。

我尝试添加行zip.CompressionMethod = Zip64Option.AsNecessary认为 zip64 是必要的,但后来我得到了错误Unsupported compression method。我不知道如何处理这些新信息。我认为 ZipDotNet 可以处理这一切。

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

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

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

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


该解决方案围绕不关注 zip 文件大小限制而展开。

当使用 DotNetZip 压缩大尺寸文件时,您将在 ASP.NET 编码中遇到如下错误:

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

当您看到这些错误时,最好通过添加以下行来更改您的 asp 代码:

[yourZipReference].UseZip64WhenSaving = Zip64Option.Always

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

还有另一行:

[yourZipReference].CompressionMethod = CompressionMethod.BZip2;// or CompressionMethod.Deflate or CompressionMethod.None

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Ionic.Zip:压缩或未压缩大小,或偏移量超过最大值 的相关文章

随机推荐

  • 我如何从android中的php服务器获取这个json数据

    我如何在android中获取这个json数据 该数据位于本地主机中 我必须使用 URL 获取此数据并在 android 的列表视图中显示 任何人都可以帮助编码吗 id 111114 name Prandar id 111115 name C
  • 将 C# 函数指针传递到 C++/CLI 互操作 dll

    我试图将函数指针从 C 传递到 C CLI 并收到一个 Windows 编译器错误 指出ManagedTakeCallback该语言 C 不支持函数 我定义了ManagedTakeCallback在 C CLI 互操作中 我的代码看起来像
  • 将 ASP.NET 行添加到 ListBox

    我需要在 ASP NET 中的列表框中添加一行 以便与用户可以选择的许多选项进行一定的分离 目前 我们有超过 20 个不同的选项供用户选择 我需要将最受欢迎的放在最上面 我的逻辑是将流行的选项放在顶部 但认为列表框中的一行将帮助用户将它们与
  • 无法使用 Selenium WebDriver 在 Chrome 中加载默认配置文件

    我正在使用 Selenium WebDriver 在需要 http 身份验证的页面上执行某些操作 我已经登录我的默认配置文件 但 selenium chromedriver 会自动为每次使用使用新的配置文件 因此我无法通过身份验证阶段 因此
  • libcurl 回调 w/c++ 类成员

    取自libcurl 编程教程 http curl haxx se libcurl c libcurl tutorial html在 libcurl 网站上 libcurl 与 C 使用 C 时基本上只需要记住一件事 在连接 libcurl
  • 未注入通过 RequireJS 从 CDN 加载 Angular

    在我的项目中 我想使用 RequireJS 并引导我的应用程序 如下所示 requirejs config baseUrl scripts vendor paths jquery https ajax googleapis com ajax
  • CustomAttribute反映html属性MVC5

    希望找到一种方法 当在 MVC5 中使用 Custom 属性或最好使用 RegularExpressionAttribute 装饰模型中的属性时 html 控件将包含它作为控件的另一个属性 例如 class CoolModel Custom
  • Hibernate 查询语言中四舍五入到小数点后两位

    你好 有人可以帮我如何在 hql 中四舍五入到小数点后两位吗 我在网上找不到任何东西 以下是我的查询 Select p amount as amt p desc from pay p register r where r type 1 an
  • 将字符串中匹配的正则表达式值替换为字典中的正确值

    我有一根绳子 var text the animal jumped over the description fox 和一本字典 var dictionary animal dog description jumped 我正在编写一个函数
  • CSS:100% 字体大小 - 100% 是什么?

    有many http www alistapart com articles howtosizetextincss articles http www w3 org TR CSS2 fonts html font size props an
  • java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener 错误

    您好 我的 struts1 spring 和 hibernate 集成中的动态 Web 应用程序是在 64 位计算机上开发的 它在 64 位计算机上运行良好 但在 32 位计算机上出现 jar 问题 并给出以下错误 SEVERE Error
  • 从 Google Chrome 自动生成 HAR 文件

    基本上我需要的是一种自动化的方法result以下操作 打开一个新选项卡 打开开发者工具中的网络选项卡 加载一个 URL 选择 全部另存为 HAR 通常 建议的解决方案涉及使用PhantomJS http phantomjs org brow
  • WAMP 的 MySQL 数据库文件驻留在哪里?

    我只是好奇 因为我开始学习 PHP 和 MySQL MySQL 的数据库和其他文件驻留在硬盘上的位置 我在 Windows XP SP2 平台上安装了 WAMP 从以下命令的输出中探索变量 mysql gt show variables l
  • Xamarin.Forms 中主从页面的母版页有多宽?

    根据屏幕尺寸 和设备习惯 母版页的宽度会有所不同 在手机上 它约为屏幕宽度的 80 而在平板电脑上 它似乎是一个恒定尺寸 如 320 dp 有人知道这个值的一般公式吗 我想用它在施工期间布置一些元素 当Width属性尚未设置 Edit I
  • 在 django 中使用 Context 时如何禁用 HTML 编码

    在我的 django 应用程序中 我使用模板来构建电子邮件正文 其中一个参数是 url 请注意 url 中有两个参数以 分隔 t loader get template sometemplate c Context foo bar url
  • ES6 Promise / Typescript 和 Bluebird Promise

    我有一个 nodejs typescript 2 项目并使用es6 promise https github com stefanpenner es6 promise包裹 现在我想摆脱额外的包 因为我可以直接在打字稿中定位 ES6 所以我删
  • Git和ssh授权

    我无法使用生成的 ssh 密钥登录 github 我已经按照本手册进行操作 http help github com linux key setup http help github com linux key setup但在步骤 ssh
  • 是否可以在任何现有的 onsubmit/submit 之前绑定一个 Submit() 函数?

    我有一个表格onsubmit属性 我需要绑定一个新的提交事件 并且需要在任何现有的提交函数之前执行该事件 下面的代码演示了这个问题
  • 嵌套砌体对象

    我正在尝试使用容器创建图形视图 因此 如果 A s gt B s gt C s 视图将显示 Bs 内的对象 c 而 Bs 又在 As 内 Something like this 我认为砌体视图非常适合此目的 但我无法使嵌套正常工作 到目前为
  • .NET Ionic.Zip:压缩或未压缩大小,或偏移量超过最大值

    我进行了以下设置 Win2008服务器 Ionic zip 参考模块 用于构建 zip 文件的单独驱动器 NET 4 0 Web 应用程序即时构建 zip 包 并允许客户端下载该包 该系统一直运行良好 直到现在 最近我们添加了一些较大的文件