图片未显示 - JSP网络应用

时间:2016-04-26 20:06:54

标签: java jsp servlets

我正在尝试在index.jsp上显示艺术家的图像。 我的标签看起来像这样..

    <img src="Image?type=event&id=${event.ID}">

我使用事件id从数据库中获取正确的图像。 我的图像servlet代码如下

    String type = request.getParameter("type");
    String id = request.getParameter("id");

    if (type.equals("event"))
    {
        ISocial soc = DesktopWrapper.getInstance().getParentEvent(Integer.parseInt(id));
        BufferedImage image = soc.getImage(0);

        ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
        int contentLength = byteStream.size();
        byte[] bytes = byteStream.toByteArray();


        response.setContentType("image/png");
        response.setContentLength(contentLength);
        OutputStream stream = response.getOutputStream();
        stream.write(bytes);


    }

我也尝试过使用ImageIO,但这也行不通。请求页面时图像不会显示,我不知道为什么!

我已经读过其他线程,这些线程被标记为重复关闭,并使用ImageIO将图像写入ByteStream,但图像仍未显示。

感谢。

 String type = request.getParameter("type");
    String id = request.getParameter("id");

    if (type.equals("event"))
    {
        ISocial soc = DesktopWrapper.getInstance().getParentEvent(Integer.parseInt(id));
        BufferedImage image = soc.getImage(0);

        ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
        ImageIO.write(image, "jpg", byteStream);
        byte[] bytes = byteStream.toByteArray();
        int contentLength = byteStream.size();

        response.setContentType("image/jpg");
        response.setContentLength(contentLength);
        OutputStream stream = response.getOutputStream();
        stream.write(bytes);
       // ImageIO.write(image, "jpeg", stream);

    }

0 个答案:

没有答案