Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Renny Visualizza il messaggio
    Adesso però devo caricare l'immagine dal db alla pagina JSP e non so come fare.
    Sul record quindi dovresti avere il BLOB che contiene lo stream della immagine esattamente come se fosse un file es. jpg, png ecc... su file-system.

    Visto che usi Struts, userai quindi una Action apposita, mappata ad un url ben preciso. In questi casi, tramite query string si passa generalmente un qualche ID che permette di rintracciare quel record. Nel update hai usato uno username come "chiave". Qui potresti passare un ID numerico del record (se lo hai gestito).

    Nella action quindi:
    1) prendi il ID dai parametri in query string.
    2) fai la query su db.
    3) ottieni un InputStream per leggere lo stream nel BLOB.
    4) devi impostare la response con tutti i dati necessari, settando innanzitutto, come minimo, il Content-Type e anche il Content-Length.
    5) devi inviare pari pari lo stream della immagine nella response. Puoi farlo "a mano" con un banale ciclo e un piccolo buffer con un byte[] di una certa dimensione oppure utilizzando metodi già fatti (verifica prima se c'è qualcosa in Struts) come ad esempio nella libreria Apache Commons IO.

    Non devi inviare altro, né fare forward a una JSP o altro che comprometta la response.

    Per i punti 4/5 puoi anche usare una classe apposita di Struts: StreamResult

    Questo comunque è solo per servire la immagine in sé. Poi nelle altre pagine che hai, farai generare il solito <img> con il src che punta alla action e con il/i giusto/i parametro/i per rintracciare la immagine.
    Ultima modifica di andbin; 05-12-2014 a 19:41
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.