如何使用Ruby 2.2.3和rest-client保存文件

Jus*_*n S 5 ruby rest-client

我正在尝试使用rest API下载文件,它似乎可以正常工作,但是我实际上没有下载文件。我假设它是因为它将存储在内存中,而不是存储在我的文件系统中。

以下是负责的代码部分。在下面粘贴我的URL时,对其进行了稍微的编辑,并且我的authToken有效。

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
Run Code Online (Sandbox Code Playgroud)

返回值:

# => 200 OK | application/zip 222094570 bytes
Backup Complete
Run Code Online (Sandbox Code Playgroud)

但是没有文件。

谢谢,

Mat*_*tW. 5

好吧,实际上您必须自己写文件。

File.write('backup.zip', response.to_s)
Run Code Online (Sandbox Code Playgroud)