una sacar online imagenes imagen extraer escritorio como ruby uri net-http

ruby - sacar - ¿Cómo descargar un archivo de imagen a través de HTTP en un archivo temporal?



extraer imagenes de pdf online (3)

He encontrado buenos ejemplos de NET :: HTTP para descargar un archivo de imagen, y he encontrado buenos ejemplos de cómo crear un archivo temporal. Pero no veo cómo puedo usar estas bibliotecas juntas. Es decir, ¿cómo se trabajaría la creación del archivo temporal en este código para descargar un archivo binario?

require ''net/http'' Net::HTTP.start("somedomain.net/") do |http| resp = http.get("/flv/sample/sample.flv") open("sample.flv", "wb") do |file| file.write(resp.body) end end puts "Done."


Hay bibliotecas más api-friendly que Net::HTTP , por ejemplo httparty :

require "httparty" url = "https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/DahliaDahlstarSunsetPink.jpg/250px-DahliaDahlstarSunsetPink.jpg" File.open("/tmp/my_file.jpg", "wb") do |f| f.write HTTParty.get(url).body end


Me gusta usar RestClient:

file = File.open("/tmp/image.jpg", ''wb'' ) do |output| output.write RestClient.get("http://image_url/file.jpg") end


require ''net/http'' require ''tempfile'' require ''uri'' def save_to_tempfile(url) uri = URI.parse(url) Net::HTTP.start(uri.host, uri.port) do |http| resp = http.get(uri.path) file = Tempfile.new(''foo'', Dir.tmpdir, ''wb+'') file.binmode file.write(resp.body) file.flush file end end tf = save_to_tempfile(''http://a.fsdn.com/sd/topics/transportation_64.png'') tf # => #<File:/var/folders/sj/2d7czhyn0ql5n3_2tqryq3f00000gn/T/foo20130827-58194-7a9j19>