Bonjour,
j'ai une probleme d'affichage d'une image à partie base donnée, j'ai crée une medhode upload pour sauvgarder l'image dans la base et une valeur myImage de type DefaultStreamedContent pour recupere l'image
le probleme que l'image n'affiche pas, je ne sais pas où est le problème

dans le model:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
@Lob
@Basic(fetch = FetchType.LAZY)
private byte[] photo;
dans bean:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
    //save photo
    public void upload(FileUploadEvent event) {
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Succesful", "File is uploaded."));
        client.setPhoto(event.getFile().getContents());
    }
 
    //show photo
    public DefaultStreamedContent getMyImage() {
        try {
            InputStream is = new ByteArrayInputStream(client.getPhoto());
            myImage = new DefaultStreamedContent(is, "/upload");
            return myImage;
        } catch (Exception e) {
            return new DefaultStreamedContent();
        }
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<h:graphicImage value="#{bean.myImage}" width="150px" height="150px" />