【问题标题】:How to display buffered image in JSF without writing image on disk?如何在 JSF 中显示缓冲图像而不将图像写入磁盘?
【发布时间】:2017-03-19 01:51:44
【问题描述】:

我有一个缓冲图像,我需要在 JSF 页面中显示它。 是否有任何可用的 UI 组件可以直接显示缓冲图像?我正在使用 JSF 2.2。

【问题讨论】:

标签: jsf bufferedimage uicomponents


【解决方案1】:

如果您只有缓冲图像,您可以使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多