0

我正在按照本指南了解如何显示来自 blob 字段的图像。

Blob image = null;
byte[ ] imgData = null ;

// here i get the blob and i'm sure that 'image' is not null //////////
image = rsListaNews.getBlob("immagine_principale");    

imgData = image.getBytes(1,(int)image.length());

response.setContentType("image/jpg");
OutputStream o = response.getOutputStream();
o.write(imgData);
o.flush();
o.close();

我收到这个错误

org.apache.jasper.JasperException: org.apache.jasper.JasperException: An exception occurred processing JSP page /Include/Chiusura.jsp at line 70

67:     
68:         response.setContentType("image/jpg");
69: 
70:     OutputStream o = response.getOutputStream();
71: 
72:     o.write(imgData);
73: 
4

1 回答 1

1

不应使用 JSP 写入响应 OutputStream。

您只能在单个请求/响应流中写入响应的 Writer 或 OutputStream,但不能同时写入。很有可能在您的 JSP 中的某个地方,它已经写入了 Writer(即使它只是空格)。

像图像这样的二进制数据最好由Servlet提供

此外,您永远不应该关闭()响应 Writer/OutputStream,因为这是容器的责任。

于 2013-10-17T15:17:01.597 回答