3

データベースからblob画像を読み取っているコードを書いていますが、その画像をjspページに表示したいと思います。

グーグルを通して私は、byte[]がバッファリングされた画像に変換できるという解決策を見つけます

しかし、どうすればjspページでバッファリングされた画像を使用できますか...?

4

2 に答える 2

2

最も簡単なのは、サーブレットまたは別のjspを使用してイメージを送信することです。

JSPを使用する場合は、HTML(または空白行)なしでバイナリを送信するように注意してください。たとえばこのように:

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を使用)

次に、次のような画像を使用できます。

<img src="myservlet.jsp?id=somestuff">
于 2012-04-24T12:52:57.680 に答える
2

サーブレットを作成することをお勧めします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);
}
于 2012-04-24T13:02:37.103 に答える