2009-12-13 1 views
3

Использование Mechanize with Ruby Я получаю определенный файл, используя agent.get('http://example.com/foo.torrent'), с FileUtils или иным способом, как сохранить этот файл на моем жестком диске (например, в каталоге, где скрипт запущен)?Сохранить WWW :: Механизировать :: Файл на диск с помощью FileUtils

P.S. class => WWW::Mechanize::File

ответ

4

Ну, WWW::Mechanize::File имеет метод save_as экземпляра, поэтому я полагаю, что-то подобное может работать:

agent.get('http://example.com/foo.torrent').save_as 'a_file_name' 
0

Пожалуйста, обратите внимание, что Mechanize::File класс не является наиболее подходящим для больших файлов. В таких случаях следует использовать класс Mechanize::Download, так как он загружает содержимое небольшими фрагментами на диск. Файл будет загружен туда, где работает скрипт (хотя вы можете указать и другой путь). Сначала нужно задать парсер по умолчанию, создать новый или изменить существующий парсер. Затем сохраните его на нужный путь:

agent.pluggable_parser.default = Mechanize::Download 
agent.get("http://example.com/foo.torrent}").save("path/to/a_file_name") 

Проверить here и here для получения более подробной информации. Кроме того, есть аналогичный вопрос here в Stackoverflow.