为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕无忌1623718 2019-06-05 10:39:21
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
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

尝试包括哑剧类型。在你发布的例子中,你把它当作“。空白图像可能是因为它不将流识别为图像文件,因为您将该字段设置为空字符串。因此,添加一个MIME类型的映像/png或Image/jpg,看看这是否有效:

String mimeType = "image/jpg";StreamedContent file = new DefaultStreamedContent(bytes, mimeType, filename);


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 698 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信