无法使用Ruby从FTP服务器下载和保存文件

时间:2014-11-03 13:09:38

标签: ruby-on-rails ruby ftp zip

我正在尝试从FTP服务器下载zip文件并将其保存在临时目录中:

agent = Net::FTP.new
agent.connect(host, 21)
agent.login(user, pass)
agent.chdir(path)
agent.passive = true
file = agent.getbinaryfile(source_file, @file_path)
file.save!(@file_path)

但是,它不保存文件,因为它是一个字符串?

NoMethodError: undefined method `save!' for #<String:0x0000000cbc0398>

是否有其他方法可以从FTP服务器下载zip文件,或者我缺少什么?

1 个答案:

答案 0 :(得分:0)

调用getbinaryfile就足够了,因为Net::FTP#getbinaryfile会将内容保存在指定的路径中。

....
agent.getbinaryfile(source_file, @file_path)

抛出异常,因为该方法返回一个字符串,而String没有save!方法。 (Net::FTP没有save!方法)