2016-11-05 2 views
1

J'ai une image tamponnée et je dois l'afficher dans une page JSF. Y a-t-il un composant d'interface utilisateur disponible qui peut afficher une image mise en mémoire tampon directement? J'utilise JSF 2.2.Comment afficher une image tamponnée dans JSF sans écrire d'image sur le disque?

+0

double possible de [Afficher l'image que l'octet \ [\] de base de données image graphique en page JSF] (https://stackoverflow.com/questions/30606503/show- image-comme-octet-de-base de données-comme-image-graphique-dans-jsf-page) – Kukeltje

Répondre

0

Si vous avez seulement l'image en mémoire tampon, vous pouvez utiliser la bibliothèque Omnifaces à laquelle vous permet de rendre des images en passant un byte[] à la composante

<o:graphicImage value="#{bean.image}" dataURI="true" /> 

Si vous avez l'image en mémoire tampon, vous pouvez convertir en octets tableau comme si:

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
ImageIO.write([image],[image_extension], baos); 
byte[] imageToPassAsValueAttr = baos.toByteArray(); 

vous pouvez également créer un servlet pour recevoir l'identifiant d'image comme une demande de get et de ce moment-là, vous pouvez obtenir la valeur du paramètre, trouver la ressource et bref e le contenu de l'image à la réponse.

@BalusC a un bel exemple here