Richfaces显示存储为byte []的图像

时间:2013-08-06 11:06:02

标签: image richfaces blob

我正在使用< rich:fileUpload>用于输入图像的组件,将其转换为字节数组,然后将其存储到mysql数据库中。是否有任何组件可以获取该字节数组并显示为图像?

我想将book.getCover显示为图片:

<rich:fileUpload fileUploadListener="#{bookDetailsBean.coverUploadListener}"
 stopButtonClass="file-upload-stop-button"
 addButtonClass="file-upload-button"
 id="upload" acceptedTypes="jpg, gif, png, bmp" maxFilesQuantity="1"
</rich:fileUpload>


public void coverUploadListener(FileUploadEvent event) {

    UploadedFile item = event.getUploadedFile();
    byte[] data = item.getData();
    book.setCover(data);
}

1 个答案:

答案 0 :(得分:0)

在RichFaces 4.x中,您可以通过

将存储在数据库中的图像显示为BLOB

1)

<a4j:mediaOutput element="img"
    mimeType="#{bean.imageMimeType}"
    createContent="#{bean.paint}"
    cacheable="false"
    session="false" />

2)从数据库中读取图像的图像servlet,并在h:graphicImage中显示:

<h:graphicImage value="/imageservlet" />