2015-12-07 71 views
1

我想使用其他API下載文件,它似乎工作,但我實際上沒有下載文件。我假設它是因爲它會記憶,而不是我的文件系統。如何使用Ruby 2.2.3和其他客戶端保存文件

下面是負責的部分代碼。粘貼時,我的網址會稍微編輯一下,我的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 

返回:

# => 200 OK | application/zip 222094570 bytes 
Backup Complete 

沒有文件存在,但。

謝謝,

回答

2

那麼你實際上必須自己寫入文件。

File.write('backup.zip', response.to_s) 
+0

的zip文件會在哪裏該放在哪裏? –

+0

您應該嘗試瀏覽文檔。它比要求一切更有效率。你會發現Dir.getwd,它給你當前的工作目錄。或者,在File.write中指定一個絕對路徑。 哦,你的意思是應該放置File.write行的位置?之前放置「備份完成」 –

1

您可以保存使用File

... 
if response.code == 200 
    f = File.new("backup.zip", "wb") 
    f << response.body 
    f.close 
    puts "Backup Complete" 
else 
... 
相關問題