【问题标题】:How to preview the <p:graphicImage> after image upload is performed?图片上传后如何预览<p:graphicImage>?
【发布时间】:2012-11-30 11:47:25
【问题描述】:

我正在使用PrimeFaces,我想在上传操作完成后立即显示上传图片&lt;p:graphicImage&gt;的预览。

【问题讨论】:

    标签: ajax jakarta-ee primefaces graphicimage


    【解决方案1】:

    您可以使用Primefaces Dynamic Image Streaming

    这样

    <p:fileUpload update="myImage" fileUploadListener="#{myBean.handleFileUpload}" ....
    
    <p:graphicImage id="myImage" value="#{myBean.chart}" />
    
    
    private StreamedContent chart;  
    
    File chartFile = new File("someFile");
    
    chart = new DefaultStreamedContent(new FileInputStream(chartFile), "image/png");
    

    我从展示中获取了一些代码 sn-p...但它足以获得一般的想法...

    【讨论】:

    • 您说:“我想显示上传图像的预览”,您不必将其保存到数据库中...只需保留在您的 bean 中进行预览...我没有不认为您可以预览尚未上传的内容...除非它来自网络...而且您可以简单地使用p:graphicImage 中的网址@
    • 你这里的问题是流.jvm在检查@PostConstruct方法之后来streamedContent方法所以,发生空指针异常......
    • @Daniel ya 你的权利,我没有将图像保存在数据库中。然后我也不能使用 url。bcz 我想在保存之前预览图像。
    • 您不必保存到 db 以便预览.. 将其保存在您的 bean 中并使用 new DefaultStreamedContent... 作为您的 p:graphicImage 的来源,使您的 bean 至少成为范围内的视图...
    • 我的代码是'StreamedContent fileStream; getter&setter... public void save()throws IOException{ ... fileStream = new DefaultStreamedContent(new FileInputStream(getFile()),"image/jpeg"); ...} 用户界面 '
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2020-06-25
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多