Используйте open-uri
, что позволяет вам читать с URL, как если бы это был файл.Обратите внимание, что «b» имеет большое значение в качестве модификатора для режима открытия, особенно если вы работаете в Windows.
require 'open-uri'
open("#{RAILS_ROOT}/tmp/export/albums/#{album_name}/#{photo_name}", 'wb') do |dest|
open(URI.parse(photo['source']), 'rb') do |src|
dest.write(src.read)
end
end
Обратите внимание, что перед записью он читает весь файл в память.Для больших файлов вы можете читать и писать в блоках.