Forum: Italian Ruby user group Streaming via send_data di uno streaming HTTP

Posted by Tommaso Visconti (Guest)
on 2012-12-05 17:40
(Received via mailing list)
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 :)
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! :)
Posted by David Welton (Guest)
on 2012-12-05 17:47
(Received via mailing list)
Affrontai un problema simile 6 anni fa.  Non so se la mia soluzione e`
minimamente valida al giorno d'oggi:

http://journal.dedasys.com/2006/06/08/streaming-pr...


2012/12/5 Tommaso Visconti <tommaso.visconti@gmail.com>:
> streaming dell'immagine su send_data mentre arriva al controller, invece
>     request = Net::HTTP::Get.new(uri.request_uri)
> Ml mailing list
> Ml@lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml



--
David N. Welton

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

http://www.dedasys.com/
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.