如何在不将图像写入磁盘的情况下在 JSF 中显示缓冲图像?
How to display buffered image in JSF without writing image on disk?
我有一个缓冲图像,我需要在 JSF 页面中显示它。
有没有可以直接显示缓冲图像的 UI 组件?我正在使用 JSF 2.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
我有一个缓冲图像,我需要在 JSF 页面中显示它。 有没有可以直接显示缓冲图像的 UI 组件?我正在使用 JSF 2.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