Ruby - 使用Mechanize :: File响应而不保存到磁盘

时间:2009-10-11 00:43:18

标签: ruby file orm zip mechanize

我正在开发我的第一个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只是为了从文件系统中找到一个源。

任何方向都会非常感激,如果有任何问题请告诉我

提前致谢 罗布

1 个答案:

答案 0 :(得分:2)

使用rubyzip看起来你想做的事情是不可能的。来自rubyzip库的TODO file

  
      
  • 提取:ZipInputStream / ZipOutputStream除文件名外还应接受IO对象。
  •