2
如果在公共網址上有圖像,我將如何使用Ruby編寫並保存到本地文件系統?如何在Ruby中將URL映射到文件系統?
如果在公共網址上有圖像,我將如何使用Ruby編寫並保存到本地文件系統?如何在Ruby中將URL映射到文件系統?
require "open-uri"
open("http://www.whatever.com/x.png") do |hnd|
File.open("x.png","wb") {|file| file.puts hnd.read }
end
編輯:
這允許您使用開放加載的網站,並把它當作正常的文件句柄:
require "open-uri"
這會將你的形象,並通過一個手柄作爲參數hnd
:
open("http://www.whatever.com/x.png") do |hnd|
這種以二進制方式打開文件(需要在Windows系統上),以及頁面的內容寫入到它:通過讀取方法,它試圖寫它之前完全閱讀獲得
File.open("x.png","wb") {|file| file.puts hnd.read }
內容。
節省什麼? 'read'?你能解釋一下你指定的路徑嗎?你爲什麼要'放'這個文件? –
@Justin:他沒有使用'Kernel.puts',而是'File#puts',它將寫入一個文件。請注意,該特定的調用是在一個塊中傳遞給'File.open','file'是一個塊本地變量。 – coreyward
@coreyward我仍然想更深入地解釋這段代碼究竟發生了什麼,比如每種方法在做什麼。 –