我正在尝试在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);
}