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!