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! :)
on 2012-12-05 17:40
on 2012-12-05 17:47
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
Log in with Google account | Log in with Yahoo account
No account? Register here.