如何使用 Ruby 2.2.3 和 rest-client 保存文件
How to Save File using Ruby 2.2.3 and rest-client
我正在尝试使用休息 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
Returns:
# => 200 OK | application/zip 222094570 bytes
Backup Complete
虽然没有文件。
谢谢,
实际上你必须自己写入文件。
Pathname('backup.zip').write 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
...
我正在尝试使用休息 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
Returns:
# => 200 OK | application/zip 222094570 bytes
Backup Complete
虽然没有文件。
谢谢,
实际上你必须自己写入文件。
Pathname('backup.zip').write response.to_s
您可以使用 File
class
...
if response.code == 200
f = File.new("backup.zip", "wb")
f << response.body
f.close
puts "Backup Complete"
else
...