问题标签 [rubyzip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7267 浏览

ruby-on-rails - 如何使用 ruby​​zip 库获取压缩文件的内容?

我正在尝试提取上传的 zip 文件并将其内容存储在数据库中,每个文件一个条目。rubyzip 库几乎没有有用的文档。

有一个 assets 表,它有 key :string (文件名)和 data :binary (文件内容)。

我正在使用 ruby​​zip 库,并且已经做到了这一点:

如何从 ZipEntry 设置数据?我必须使用临时文件吗?

0 投票
5 回答
4706 浏览

ruby - 如何通过 Ruby 解压缩受密码保护的文件

我想通过 Ruby 脚本解压缩加密/受密码保护的文件,而不需要下拉到系统调用。我目前使用 ruby​​zip 库来解压缩文件,但没有看到处理加密文件的选项。

任何人都知道一些代码或库可以做到这一点?

0 投票
2 回答
2121 浏览

ruby-on-rails - 使用 ruby​​zip 打开 multipart/form-data ZIP 文件

我想提取上传到 Rails 应用程序的 ZIP 文件中的文件。ZIP 文件中的文件将存储在数据库中。

我想在我的操作中打开 ZIP 文件,而不必先将文件保存到文件夹中 - 我想用 ruby​​zip 打开 multipart/form-data 流。

看起来 ruby​​zip 的 ZipFile.open 只需要一个文件名——而不是一个 IO 流。

我需要在 ruby​​zip 中进行哪些更改,以允许我将 zip 文件作为流打开,如下所示:

谢谢。约尔格

0 投票
3 回答
698 浏览

ruby - 如何使用 ruby​​zip 将 zip 存档中的目录复制到第二个 zip 存档?

我有一个包含多个目录的 .zip 存档。使用 ruby​​zip gem,我想进入 .zip 存档,复制指定的目录(及其内容)并将目录移动到第二个 .zip 存档中。

理想情况下,我不必提取第一个 .zip 存档的内容,然后将它们重新压缩到第二个存档中。我希望有一种方法可以使用 ruby​​zip gem 中提供的方法。

0 投票
2 回答
1808 浏览

ruby - 从 Ruby 中的 zip 文件中读取文件注释

我正在用 Ruby 进行Python 挑战。我需要从 Zip 文件中读取文件内容和注释。RubyZip gem的内容没有问题,但我无法发表评论。有任何想法吗?

0 投票
1 回答
1321 浏览

ruby-on-rails - 如何关闭 ZipFile

我正在将动态 zip 文件位置传递给数据库中的 def。我想将文件解压缩到临时位置,提取其中的 xml 报告文件,应用 xslt 样式表,将其作为 rhtml 复制到视图目录以进行渲染,然后删除临时提取的 xml 文件。该功能工作正常(rhtml文件每次都被覆盖并呈现),除了每次执行都从同一个父zip中提取并且无法删除提取的xml,这让我相信第一次执行没有关闭父zip(松开手柄)。因此,后续执行将从执行的第一个 zip 中提取 xml。我试过“Zip::ZipFile.close”、“zipFile = Zip::ZipFile.open(fileLocation); zipFile.close”、“File.close(fileLocation)”和其他排列。

0 投票
1 回答
1627 浏览

ruby-on-rails - 如何使用 ruby​​zip gem 在压缩目录中找到特定条目?

我有一个名为 test.zip 的 zip 文件,其中包含一个名为 invoice 的目录。在发票目录中,有不同名称的文件。我想在发票目录中找到一个名为 summary.txt 的特定文档。

我可以使用以下方法获得 test.zip 的句柄:

但是当我使用

我得到零。

另一方面,如果 summary.txt 不在 invoices 目录中,而是在 zip 文件本身的根目录中,则上述 find_entry 方法似乎有效。

似乎在搜索 summary.txt 之前,我必须以某种方式向下导航到发票目录。

它是否正确?如果是这样,我该怎么做?如果不是,那我做错了什么。

0 投票
4 回答
11926 浏览

ruby - 使用 ruby​​zip 将文件和嵌套目录添加到 zipoutputstream

我正在努力让 ruby​​zip 将目录附加到 zipoutputstream。(我想要输出流,所以我可以从 Rails 控制器发送它)。我的代码遵循这个例子:

http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip-files-on-the-fly/

当修改为在要添加的文件列表中包含目录时,我收到以下错误:

任何帮助将不胜感激。

更新

在尝试了许多解决方案之后,我在 zipruby 上取得了最大的成功,它有一个干净的 api 和很好的例子:http: //zipruby.rubyforge.org/

0 投票
2 回答
2033 浏览

ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别

我有一个 Ruby 程序,它使用ruby​​zip gem 压缩 XML 文件的目录树。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。

我在ruby​​zip 文档中找不到为创建的 ZIP 文件指定压缩级别的方法。

有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的 Ruby 库?

0 投票
1 回答
308 浏览

ruby - Rubyzip - 可以设置提取文件夹?

我的问题是我需要为使用 Rubyzip 生成的 zip 文件设置根提取文件夹。zip 文件将在 Windows 中作为自解压文件打开。这个选项在 Rubyzip 中可用吗?或者这是存储在 Windows 注册表中并由 Windows 中的集成 zip 功能使用的值?