Streaming via send_data di uno streaming HTTP

Ciao a tutti,
vi chiedo una mano che non so come risolvere la cosa.

In un’app rails ho una chiamata che mostra all’utente un’immagine
restituendola con send_data.

Il controller, nel metodo in questione, prende l’immagine da un’altro
server via http autenticato. Il problema che l’immagine viene prima
scaricata dall’app e poi restituita all’utente, il che non ottimale
perch le immagini sono molto grandi (~20MB) e sono progressive, quindi
vorrei fare lo streaming dell’immagine su send_data mentre arriva al
controller, invece adesso l’utente aspetta che il controller abbia
scaricato tutta l’immagine prima di iniziare a vedere qualcosa.

Spero di essermi spiegato :slight_smile:
Per chiarire, ecco il codice:

def show
begin
uri = URI.parse(‘http://ecc_ecc’)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth(‘user’, ‘psw’)
response = http.request(request)
send_data response.body, filename: ‘image.png’, disposition:
‘inline’
rescue

end
end

Grazie! :slight_smile:

Affrontai un problema simile 6 anni fa. Non so se la mia soluzione e`
minimamente valida al giorno d’oggi:

2012/12/5 Tommaso V. [email protected]:

streaming dell’immagine su send_data mentre arriva al controller, invece
request = Net::HTTP::Get.new(uri.request_uri)
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/