Ruby - Работа с Mechanize :: Ответ файла без сохранения на диск - PullRequest
0 голосов
/ 11 октября 2009

Я работаю над своим первым проектом ORM и использую Mechanize. Вот ситуация:

Я загружаю zip-файл со своего веб-сайта в объект Mechanize :: File. Внутри zip находится файл, закопанный в три папки (folder_1 / folder_2 / file.txt). Я хотел бы извлечь файл file.txt из zip-файла и вернуть его вместо самого zip-файла.

Моей первой мыслью было использование zip / zipfilesystem. Я могу сделать это нормально, если сначала сохраню файл на диск и использую Zip :: ZipFile.open (src), но кто-нибудь может сказать мне, как / если можно отправить его прямо из Mechanize :: File.body.

Моя интуиция говорит, что это должно быть возможно, и я просто упускаю что-то простое. Я пытался ...

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

... но из того, что я могу сказать, Zip :: ZipFile настроен только для поиска источника в файловой системе.

Любое направление будет очень признательно, и дайте мне знать, если есть какие-либо вопросы

Заранее спасибо Rob

1 Ответ

2 голосов
/ 11 октября 2009

Кажется, то, что вы хотите сделать, невозможно с rubyzip. Из файла TODO библиотеки rubyzip :

  • ПРЕДЛОЖЕНИЕ: ZipInputStream / ZipOutputStream должен принимать объект ввода-вывода в дополнение к имени файла.
...