我目前在处理包含数十万个文件的大型压缩文件时遇到了RubyZip库的问题.似乎RubyZip有一个限制,每个压缩包只能有65535个文件.

有没有推荐的方法或替代解决方案来使用Ruby高效地处理和处理包含大量文件的大型Zip文件?任何真知灼见或代码示例都将不胜感激.

首先感谢您的帮助!

推荐答案

似乎RubyZip有一个限制,每个压缩包只能有65535个文件

这取决于所使用的格式.从1989年开始的原始Zip格式限制 for each 归档文件最多65,535个文件.名为"Zip64"的64位变体在2001年随version 4.5一起引入,它最多支持2个64(减1)文件.

在RubyZip中,可以通过以下方式启用Zip64 support:

Zip.write_zip64_support = true

然而,根据文件,默认情况下是enabled.您可能已经(意外地?)显式地禁用了它.

Ruby-on-rails相关问答推荐

Rails TurboStream:可以向元素动态添加一个css类吗?

如何将Form_With用于多个没有控制器的型号

在Ruby中按特定值合并时,将两个对象数组添加到一起

Rails 7 - 富文本不显示附加的媒体内容

插件和 Ruby gem 之间的区别?

Rails 3 - Select 包含?

ActiveRecord 回调列表

在 Epoch 中将 Ruby 时间戳转换为秒数并返回

如何找出现有 Rails 应用程序基于哪个 Rails 版本?

Rails 中是否有 HTML 安全截断方法?

form_for 未定义的方法 `user_path'

通过 Ruby 或 Rails 的 LDAP

如何打印出范围之间的随机数?

Active Record has_many:通过删除一条关联记录

Rails,Docker:主机不存在:默认

find、where 和 find_by_id 有什么区别?

如何检测rails是否在根url?

如何在 Rails 4 中测试控制器关注点

Rails:如何将日期时间字符串解析为特定时区

Rails:如何在rails中使用dependent::destroy?