Problem in converting BufferedImage to img

I am writing code in which I am reading a blob image from a database and want to display this image on my jsp page.

through google I find out a solution that byte [] can be converted to a buffered image

but how can I use a spooled image on a jsp ... page?

+3
source share
2 answers

The easiest way is to send the image using a servlet or another jsp.

If you are using JSP, be careful just send your binary without any html (or empty line). For example, for example:

response.setContentType("image/png");
OutputStream sos = response.getOutputStream();
BufferedImage myImage = stuff.getImage(request.getParameter("id"));
ImageIO.write(myImage, "png", sos);
sos.flush();
sos.close();

(javax.imageio.ImageIO is used here)

Then you can simply use the image as follows:

<img src="myservlet.jsp?id=somestuff">
+2
source

ImageProvider

<servlet>
    <servlet-name>showMyImage</servlet-name>
    <servlet-class>com.photo.gallery.ImageProvider</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>showMyImage</servlet-name>
    <url-pattern>/showMyImage</url-pattern>
</servlet-mapping>

JSP, :

<img src="showMyImage?imageFimeName=flowers.jpg" / >

doGet ImageProvider

public void doGet(HttpServletRequest request, HttpServletResponse response) {
    /*Now you have the byte[] array by some way...
     * Lets call it imageBytes[] */
    response.setContentType("image/jpeg");
    response.setContentLength(imageBytes.length);
    response.getOutputStream().write(imageBytes);
}
+2

All Articles