require "open-uri"
open("http://www.whatever.com/x.png") do |hnd|
File.open("x.png","wb") {|file| file.puts hnd.read }
end
РЕДАКТИРОВАТЬ:
Это позволяет использовать open для загрузки веб-сайта и обрабатывать его как обычный дескриптор файла:
require "open-uri"
Это загружаетваше изображение и передает дескриптор в тело страницы в качестве параметра hnd
:
open("http://www.whatever.com/x.png") do |hnd|
Это открывает файл в двоичном режиме (необходим в системах Windows) и записывает в него содержимое страницы:
File.open("x.png","wb") {|file| file.puts hnd.read }
Содержимое получается методом чтения, который пытается полностью прочитать его перед записью.