相关疑难解决方法(0)

使用p:graphicImage和StreamedContent从数据库显示动态图像

我想显示的保存在数据库中的图像字节StreamedContent<p:graphicImage>,如下所示:

<p:graphicImage  value="#{item.imageF}" width="50"  id="grpImage" height="80"/>
Run Code Online (Sandbox Code Playgroud)
private StreamedContent content; // getter and setter

public StreamedContent getImageF() {

    if (student.getImage() != null) {
        InputStream is = new ByteArrayInputStream(student.getImage());
        System.out.println("Byte :"+student.getImage());
        content = new DefaultStreamedContent(is, "", student.getStuID());
        System.out.println("ddd ------------------------------- " + content);
        return content;
    }

    return content;
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个空白图像.这是怎么造成的,我该如何解决?

标准输出打印以下内容:

INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@b0887b
INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1d06a92
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@39a60
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@8c3daa …
Run Code Online (Sandbox Code Playgroud)

database jsf image primefaces jsf-2

48
推荐指数
3
解决办法
8万
查看次数

在<ui:repeat>里面的<p:graphicImage>中显示数据库blob图像

我在JBoss 7.1.1上使用PrimeFaces 3.2.

我试图在MySQL数据库中显示存储在BLOB中的图像<ui:repeat>.图像存储在a中byte[],然后转换StreamedContent为如下:

InputStream stream = new ByteArrayInputStream(ingredient.getImage());
ingredient.setJsfImage(new DefaultStreamedContent(stream, "image/jpg"));
Run Code Online (Sandbox Code Playgroud)

然后我试图在Facelet中显示它如下:

<ui:repeat var="ingredient" value="#{formBean.ingredientResultSet}">
    <p:panel id="resultsPanel" header="#{ingredient.location.shopName}">
        <p:graphicImage value="#{ingredient.jsfImage}" alt="No picture set" />
...
Run Code Online (Sandbox Code Playgroud)

但是,在加载页面时,我在JBoss中收到以下错误:

SEVERE [org.primefaces.application.PrimeResourceHandler](http - 127.0.0.1-8080-12)流式动态资源出错.

这是怎么造成的,我该如何解决?

jsf dynamic-content primefaces uirepeat graphicimage

32
推荐指数
1
解决办法
5万
查看次数

如何在p:dataTable中使用带有StreamedContent的p:graphicImage?

我想使用PrimeFaces数据表从数据库动态加载图像.代码如下所示,基于此PF论坛主题:

<p:dataTable id="tablaInventario" var="inv" value="#{registrarPedidoController.inventarioList}" paginator="true" rows="10"
    selection="#{registrarPedidoController.inventarioSelected}" selectionMode="single"                                     
    update="tablaInventario tablaDetalle total totalDesc" dblClickSelect="false" paginatorPosition="bottom">
    <p:column sortBy="producto.codigo" filterBy="producto.codigo">
        <f:facet name="header">#{msg.codigo}</f:facet>
        #{inv.producto.codProducto}
    </p:column>                            
    <p:column>
        <f:facet name="header">Foto</f:facet>
        <p:graphicImage id="photo" value="#{registrarPedidoController.streamedImageById}" cache="FALSE">
            <f:param name="inv" value="#{inv.id}" />
        </p:graphicImage>                                
    </p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

public StreamedContent getStreamedImageById() {
    DefaultStreamedContent image = null;
    String get = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("inv");
    System.out.println("[Param]: " + get); // This prints null.
    Long id = new Long(get);
    List<Inventario> listInventarios = controladorRegistrarPedido.listInventarios();

    for (Inventario i : listInventarios) {
        if (i.getId().compareTo(id) == 0) {
            byte[] …
Run Code Online (Sandbox Code Playgroud)

datatable jsf image primefaces jsf-2

11
推荐指数
1
解决办法
5万
查看次数

Primefaces媒体显示旧的PDF

我有一个PDF文档,它是从应用程序中包含的数据生成的,这个pdf文档是使用媒体组件primefaces显示的,一切正常,但是为了对数据源进行更改,我仍然显示旧文档.到目前为止,我已经通过清除浏览器缓存解决了,但是这个问题怎么可能解决这个问题呢?

     <p:media value="#{listadoFacturasMB.fileDownload}" width="100%"  height="600px" player="pdf">
                    <f:param name="id" value="#{listadoFacturasMB.selectedFactura.idFactura}" />
     </p:media>  
Run Code Online (Sandbox Code Playgroud)

caching primefaces jsf-2

9
推荐指数
2
解决办法
1296
查看次数

如何使用<p:media>绑定动态内容?

我用它<p:media>来显示静态PDF内容.

<p:media value="/resource/test.pdf" 
         width="100%" height="300px" player="pdf">  
</p:media>
Run Code Online (Sandbox Code Playgroud)

如何更改它以显示动态内容?

media jsf dynamic-content primefaces jsf-2

7
推荐指数
1
解决办法
2万
查看次数