为什么我在使用p:uploadFile上传文件后无法更新ap:graphicImage

leo*_*rez 3 primefaces

我一直试图用ap:uploadFile上传一个图像,它在第一次工作正常,但在第一个上传的文件之后它没有更新p:graphicImage,但如果我重新加载页面,则graphicImage的值很好并且图像显示.所以,我认为这是primefaces uploadFile组件的一个问题,但我不确定.

我的xhtml是这样的:

<h:form id="formNuevo" size="150%"  enctype="multipart/form-data">

    <h:outputLabel value="Diseño Neumatico: *" />
<p:fileUpload fileUploadListener="#{serviciosVentanaDiseno.manejarUploadedFile}" mode="advanced" auto="true" sizeLimit="9000000000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" update="mensajes graficImage"/>                          

<p:graphicImage id="graficImage" styleClass="disenoNeumatico" value="#{serviciosVentanaDiseno.streamedContentImagen}" ajax="true"/>



 </h:form>
Run Code Online (Sandbox Code Playgroud)

我的bean是@SessionScoped bean,它在这里:

public void manejarUploadedFile(FileUploadEvent event) {
    UploadedFile uploadedFile = (UploadedFile)event.getFile();
    try {                    
        diseno.setImagen(uploadedFile.getContents());
        streamedContentImagen = new DefaultStreamedContent(new    ByteArrayInputStream(diseno.getImagen()));
    } catch (IOException e) {
        //log error
    }
}

public StreamedContent getStreamedContentImagen() {
    return streamedContentImagen;
}

public void setStreamedContentImagen(StreamedContent streamedContentImagen) {
    this.streamedContentImagen = streamedContentImagen;
}
Run Code Online (Sandbox Code Playgroud)

Emi*_*ski 5

尝试将graphicImage组件的cache属性设置为false: <p:graphicImage cache="false"