View Full Version : [JAVA]visualizzare un inputstream ina una pagina jsp
blackknight
17-11-2006, 12:45
Salve a tutti,
Sto svolegendo il tirocinio per l'uni, sulla nuova specifica jsr 170.
Ora il problema è che il repository gestisce tutti i file come strem, e quando cerco di estrarre un file me lo da solo attraverso un inputstream...mi chiedevo se fosse possibile visuallzare l'inputstream direttamente su una pagina jsp.
Faccio un esempio:
voglio visualizzare una immagine .jpg sul browser, solo che io l'immagine la ottengo sottoforma di inputstream. Esiste qualche modo per trasformare l'inputstream a runtime in qualcosa di visualizzabile senza scrivere su filesystem?
Salve a tutti,
Sto svolegendo il tirocinio per l'uni, sulla nuova specifica jsr 170.
Ora il problema è che il repository gestisce tutti i file come strem, e quando cerco di estrarre un file me lo da solo attraverso un inputstream...mi chiedevo se fosse possibile visuallzare l'inputstream direttamente su una pagina jsp.
Faccio un esempio:
voglio visualizzare una immagine .jpg sul browser, solo che io l'immagine la ottengo sottoforma di inputstream. Esiste qualche modo per trasformare l'inputstream a runtime in qualcosa di visualizzabile senza scrivere su filesystem?
In teoria basterebbe impostare il corretto content-type nella response e sparare al browser i byte dello stream così come sono. Nella pratica mi sa che sia meglio passare da una servlet, non da una jsp che tratta l'output in maniera particolare.
blackknight
17-11-2006, 13:10
Bhe non è un problema di servlet o jsp. Se butto lo stream sul browser mi stampa il binario, io voglio che mi visualizzi la jpg.
Bhe non è un problema di servlet o jsp. Se butto lo stream sul browser mi stampa il binario, io voglio che mi visualizzi la jpg.
Se impostassi anche il content-type corretto, come ti ho già detto, dovrebbe funzionare. Il condizionale è dovuto al tipo di browser che vuoi utilizzare.
blackknight
17-11-2006, 13:47
Se impostassi anche il content-type corretto, come ti ho già detto, dovrebbe funzionare. Il condizionale è dovuto al tipo di browser che vuoi utilizzare.
Scusa, ma quale content type?Mi sa che non ho capito bene allora....
Ma il content-type non deve essere text/html??
Scusa, ma quale content type?Mi sa che non ho capito bene allora....
Ma il content-type non deve essere text/html??
content-type (http://www.iana.org/assignments/media-types/)
blackknight
17-11-2006, 14:26
Ti ringrazio ma mi hai proprio messo in crisi..quale dovrei usare??
e poi come faccio a visualizzare uno stream su browser su browser?
Non vorrei dire una dabbenaggine - e se uno comincia così poi finisce per dirla - ma il tag object di html non consente anche l'inclusione dei dati nudi e crudi dell'oggetto, in questo caso dell'immagine? Se così fosse, potresti costuire la risposta usando non il tag <img> ma <object>, con il content type image/quel che l'è e il nodino con i byte.
Ma negherei in qualsiasi momento di averlo mai detto :D.
Non vorrei dire una dabbenaggine - e se uno comincia così poi finisce per dirla - ma il tag object di html non consente anche l'inclusione dei dati nudi e crudi dell'oggetto, in questo caso dell'immagine? Se così fosse, potresti costuire la risposta usando non il tag <img> ma <object>, con il content type image/quel che l'è e il nodino con i byte.
Ma negherei in qualsiasi momento di averlo mai detto :D.
Facciamo parlare le specifiche:
Inline vs. external data. Data to be rendered may be supplied in two ways: inline and from an external resource. While the former method will generally lead to faster rendering, it is not convenient when rendering large quantities of data.
Here's an example that illustrates how inline data may be fed to an OBJECT:
<P>
<OBJECT id="clock1"
classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
data="data:application/x-oleobject;base64, ...base64 data...">
A clock.
</OBJECT>
Per i PDF generati a run-time ho utilizzato una soluzione ibrida, per questioni cosmetiche: metto lo stream in sessione e mando al browser una pagina html con dentro un object che fa riferimento, per il suo contenuto, ad un URL che punta ad una servlet che si aspetta di trovare lo stream di dati in sessione. Il browser quindi si collega alla servlet che restituisce lo stream.
Visto, io non ho detto niente, son state le specifiche! Io non c'entro! :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.