使用FileUtils将WWW :: Mechanize :: File保存到磁盘

时间:2009-12-13 23:53:37

标签: ruby mechanize

在Ruby中使用Mechanize我使用agent.get('http://example.com/foo.torrent')获取某个文件,使用FileUtils或其他方式,如何将此文件保存到我的硬盘驱动器(例如,在运行脚本的目录中)?

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

2 个答案:

答案 0 :(得分:4)

好吧,WWW::Mechanize::File有一个save_as实例方法,所以我想这样的东西可能有效:

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

答案 1 :(得分:0)

请注意,Mechanize::File类不适合大文件。在这些情况下,应该使用Mechanize::Download类,因为它将内容以小块的形式下载到磁盘。该文件将下载到运行脚本的位置(尽管您也可以指定其他路径)。您需要先设置默认解析器,创建新解析器或修改现有解析器。然后,将其保存到所需的路径:

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

查看herehere了解详情。此外,Stackoverflow中也存在类似问题here