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
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.
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>
Voici le code du managed bean compte
Pourtant le outputPanel id="info" ne devrait-il pas etre "repaint" une fois le upload terminé?
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()); }
Si quelqu'un pouvait me dire ce que j'ai loupé, ce serait sympa.
Merci d'avance.
Partager