我有一个缓冲的图像,我需要在JSF页面中显示它。 是否有可用的UI组件可以直接显示缓冲图像?我正在使用JSF 2.2。
答案 0 :(得分:2)
如果您只有缓冲图像,则可以使用Omnifaces库,通过将byte[]
传递给组件来渲染图像
<o:graphicImage value="#{bean.image}" dataURI="true" />
如果你有缓冲的图像,你可以像这样转换为字节数组:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write([image],[image_extension], baos);
byte[] imageToPassAsValueAttr = baos.toByteArray();
您还可以创建一个servlet来接收图像ID作为获取请求,从那时起,您可以获取参数值,找到资源并将图像内容写入响应。
@BalusC有一个很好的例子here