# Streaming via send\_data di uno streaming HTTP

**URL:** <https://www.ruby-forum.com/t/streaming-via-send-data-di-uno-streaming-http/224979>\
**Category:** IT\
**Created:** [December 5, 2012, 5:40pm UTC](https://www.ruby-forum.com/t/streaming-via-send-data-di-uno-streaming-http/224979 "2012-12-05T17:40:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [December 5, 2012, 5:40pm UTC](https://www.ruby-forum.com/t/streaming-via-send-data-di-uno-streaming-http/224979/1 "2012-12-05T17:40:09Z")

</div>

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! 🙂

---

<div class="post-metadata">

**Author:** ![Tommaso\_V](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@Tommaso\_V](https://www.ruby-forum.com/u/Tommaso_V)\
**Post date:** [December 5, 2012, 5:47pm UTC](https://www.ruby-forum.com/t/streaming-via-send-data-di-uno-streaming-http/224979/2 "2012-12-05T17:47:10Z")

</div>

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

> **[Streaming programmatically generated content from Rails](https://journal.dedasys.com/2006/06/08/streaming-programmatically-generated-content-from-rails/)**
>
> Today, I needed to do something that I didn’t find a handy method for in Rails. The API has both a send\_data and send\_file method, but they are both ‘one shot’ in that you have to…

2012/12/5 Tommaso V. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> streaming dell’immagine su send\_data mentre arriva al controller, invece  
> request = Net::HTTP::Get.new(uri.request\_uri)  
> Ml mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
David N. Welton

> **[David N. Welton](https://www.welton.it/davidw/)**

[http://www.dedasys.com/](http://www.dedasys.com/)
