0

我正在做我的第一个 ORM 项目并且正在使用 Mechanize。情况如下:

我正在将一个 zip 文件从我的网站下载到一个 Mechanize::File 对象中。zip 里面是一个隐藏在三个文件夹深处的文件(folder_1/folder_2/file.txt)。我想从 zip 文件中提取 file.txt 并返回它而不是 zip 文件本身。

我的第一个想法是使用 zip/zipfilesystem。如果我先将文件保存到磁盘并使用 Zip::ZipFile.open(src),我可以做到这一点,但谁能告诉我如何/是否可以直接从 Mechanize::File.body 发送它。

我的直觉说这必须是可能的,我只是缺少一些基本的东西。我试过...

zipfile = Mechanize::File.body
Zip::ZipFile.open(zipfile)

...但据我所知,Zip::ZipFile 仅设置为从文件系统中查找源。

任何方向将不胜感激,如果有任何问题,请告诉我

提前谢谢罗

4

1 回答 1

2

rubyzip 似乎无法实现您想要做的事情。从 ruby​​zip 库的TODO 文件中

  • 建议:ZipInputStream/ZipOutputStream 除了文件名之外还应该接受一个 IO 对象。
于 2009-10-11T16:55:20.553 回答