2013-04-03 59 views
0

试图在一个JSP页面来显示图像BLOB当我收到“图片损坏或截断”的错误。我正在使用servlet来查询图像并回复。显示BLOB在JSP

在JSP:

<img src="myservlet?id=5" /> 

在servlet的:

Blob binImage = img.getBinImage(); 
          byte[] imgData = null; 
          imgData = binImage.getBytes(1, (int)binImage.length()); 
          response.setContentType(img.getContentType()); 
          response.setContentLength((int)binImage.length()); 
          response.setHeader("Content-Disposition", "inline;filename=\"" + img.getImageName() + "\""); 
          OutputStream o = response.getOutputStream(); 
          o.write(imgData); 
          o.flush(); 
          o.close(); 
+0

设置'内容Length'头可能有帮助。 – Perception

+0

已经设置,仍然是相同的:( – kitokid

+0

什么'Content-Disposition'头部在那里做?你应该删除。 – Perception

回答

0

首先,Base64编码图像(BLOB),那么你可以直接在<img>标签内使用它。

看到这个link(是PHP,但你的想法)

<img src="data:image/jpeg; base64, + xmlhttp.responseText + " />