猿问

GraphicImage和StreamedContent显示数据库中的动态图像

GraphicImage和StreamedContent显示数据库中的动态图像

我正在尝试显示图像字节,这些字节保存在数据库中,作为StreamedContent<p:graphicImage>详情如下:

<p:graphicImage  value="#{item.imageF}" width="50"  id="grpImage" height="80"/>
private StreamedContent content; // getter and setterpublic 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;}

这将返回一个空白图像。这是如何造成的,我如何解决呢?

标准输出如下:

INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@b0887bINFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1d06a92INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@39a60INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@8c3daaINFO: Byte :[B@124728a
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1dbe05bINFO: Byte :[B@124728a
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@66a266INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1293976INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@17b7399INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1e245a5INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@4a7153INFO: Byte :[B@124728a
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1561bfdINFO: Byte :[B@124728a
慕无忌1623718
浏览 699回答 3
3回答

慕的地6264312

尝试包括哑剧类型。在你发布的例子中,你把它当作“。空白图像可能是因为它不将流识别为图像文件,因为您将该字段设置为空字符串。因此,添加一个MIME类型的映像/png或Image/jpg,看看这是否有效:String&nbsp;mimeType&nbsp;=&nbsp;"image/jpg";StreamedContent&nbsp;file&nbsp;=&nbsp;new&nbsp;DefaultStreamedContent(bytes,&nbsp;mimeType,&nbsp;filename);
随时随地看视频慕课网APP
我要回答