2013-04-03 3 views
0

Я получаю сообщение об ошибке «Изображение поврежденное или усеченное» при попытке отобразить изображение BLOB на странице JSP. Я использую сервлет для запроса изображения и ответа.display blob in jsp

в JSP:

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

В сервлета:

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

Установка 'заголовка Content-Length' может помочь. – Perception

+0

уже установлен, все тот же :( – kitokid

+0

Что делает этот заголовок 'Content-Disposition' там? Вы должны его удалить. – Perception

ответ

0

Во-первых, Base64 кодирует изображение (BLOB), то вы можете непосредственно использовать его в пределах вашего <img> тега.

Смотрите это link (это PHP, но вы получите идею)

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