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

3
使用Ruby的Mechanize,我使用agent.get('http://example.com/foo.torrent')获取了一个特定的文件,使用FileUtils或其他方式,我该如何将这个文件保存到我的硬盘上(例如,在脚本运行的目录中)?
附注:class => WWW::Mechanize::File
2个回答

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")

查看此处此处以获取更多细节。此外,在Stackoverflow上还有一个类似的问题此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接