Bonjour,

Je n'arrive pas à rafraichir une image, après avoir sélectionné une image de mon disque.

voici le code de la jsp qui pose problème.
J'ai adapté ce code de la page http://livedemo.exadel.com/richfaces...fileUpload.jsf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
.....
<a4j:outputPanel id="info">
                  <a4j:mediaOutput element="img" mimeType="#{compte.photoUploaded.mime}" createContent="#{compte.paint}" style="width:100px; height:100px;"/>
</a4j:outputPanel>
</h:panelGrid>
 
<rich:fileUpload fileUploadListener="#{compte.listener}" maxFilesQuantity="#{compte.uploadsAvailable}" id="upload" immediateUpload="#{compte.autoUpload}" acceptedTypes="jpg, gif, png, bmp" allowFlash="#{compte.useFlash}">
       <a4j:support event="onuploadcomplete" reRender="info"/>
</rich:fileUpload>
Quand je passe en débug, la méthode paint est lancée lors du chargement de la page mais pas après l'upload.

Voici le code du managed bean compte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public void paint(OutputStream stream, Object object) throws IOException {
            stream.write(this.photoUploaded.getData());
    }
 
    public void listener(UploadEvent event) throws Exception {
        UploadItem item = event.getUploadItem();
        this.photoUploaded = new Fichier();
        this.photoUploaded.setLength(item.getData().length);
        this.photoUploaded.setName(item.getFileName());
        this.photoUploaded.setData(item.getData());
        this.chargeAffaire.setPhoto(item.getData());
    }
Pourtant le outputPanel id="info" ne devrait-il pas etre "repaint" une fois le upload terminé?

Si quelqu'un pouvait me dire ce que j'ai loupé, ce serait sympa.
Merci d'avance.