Pregunta

¿Esto va a causar problemas de memoria con Ruby? Sé que Open-URI escribe en un Tempfile si el tamaño pasa más de 10 kb. Pero, ¿httparty intentará guardar todo el pdf en la memoria antes de que se escriba en tempfile?

src = Tempfile.new("file.pdf")
src.binmode
src.write HTTParty.get("large_file.pdf").parsed_response
¿Fue útil?

Solución

Puedes usar net :: http. Ver la documentación (en particular la sección titulada "Cuerpos de respuesta de transmisión").

Aquí está el ejemplo de los documentos:

uri = URI('http://example.com/large_file')

Net::HTTP.start(uri.host, uri.port) do |http|
  request = Net::HTTP::Get.new uri.request_uri

  http.request request do |response|
    open 'large_file', 'w' do |io|
      response.read_body do |chunk|
        io.write chunk
      end
    end
  end
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top