Bonjour,
Je cherche à afficher dans une image dans une page JSF
J'ai déja :
L'upload de l'image dans la base.
Recharger l'image dans le bean.


Le rechargement de l'image dans une nouvelle fenetre en créant un lien sur le lien :<h:commandLink action="#{fileBean.getFile}">
getFile ayant le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public String getFile() throws SQLException, JRException, IOException {
			file = FileService.findById(id);			
			byte[] bytes = file.getData();
			FacesContext context = FacesContext.getCurrentInstance();
			HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();			
			response.setContentLength(bytes.length);
			response.setContentType(file.getMime());
			response.getOutputStream().write(bytes);
			context.responseComplete();
			return null;
		}
Une nouvelle fenetre s'ouvre et affiche l'image.
Je souhaite faire : <h:graphicImage url="#{fileBean.file}" styleClass="pic" title="Creer" />
mais cela ne marche pas j'ai l'erreur (presque logique):
Servlet response already use Writer, OutputStream not possible

Et oui la je n'ouvre pas une nouvelle réponse !!

Merci de m'indiquer la route à suivre.
ps : j'ai aussi essayé de retourner le byte[] sans succès.