如何使用Ruby 2.2.3和rest客户端保存文件
我正在尝试使用RESTAPI下载一个文件,它似乎可以工作,但我实际上没有下载一个文件。我假设这是因为它将进入内存,而不是我的文件系统 下面是代码的责任部分。我的URL在粘贴到下面时会被轻微编辑,并且我的authToken是有效的如何使用Ruby 2.2.3和rest客户端保存文件,ruby,rest-client,Ruby,Rest Client,我正在尝试使用RESTAPI下载一个文件,它似乎可以工作,但我实际上没有下载一个文件。我假设这是因为它将进入内存,而不是我的文件系统 下面是代码的责任部分。我的URL在粘贴到下面时会被轻微编辑,并且我的authToken是有效的 backup_url = "#{proto}://#{my_host}/applications/ws/migration/export?noaudit=#{include_audit}&includebackup=#{include_backup_zips}&
backup_url = "#{proto}://#{my_host}/applications/ws/migration/export?noaudit=#{include_audit}&includebackup=#{include_backup_zips}&authToken=#{my_token}"
resource = RestClient::Resource.new(
backup_url,
:timeout => nil,
:open_timeout => nil)
response = resource.get
if response.code == 200
puts "Backup Complete"
else
puts "Backup Failed"
abort("Response Code was not 200: Response Code #{response.code}")
end
返回:
# => 200 OK | application/zip 222094570 bytes
Backup Complete
但是没有文件存在
谢谢,实际上,您必须自己写入文件
File.write('backup.zip', response.to_s)
您可以使用
file
class保存zip文件
...
if response.code == 200
f = File.new("backup.zip", "wb")
f << response.body
f.close
puts "Backup Complete"
else
...
。。。
如果response.code==200
f=File.new(“backup.zip”、“wb”)
f这将放在哪里?您应该尝试浏览文档。这真的比什么都要更有效率。您将找到Dir.getwd,它提供了当前的工作目录。或者,在File.write中指定绝对路径。哦,你是说File.write行应该放在哪里?就在“备份完成”之前