Tenho uma tabela foto, que têm um campo BLOB e a foto está gravada nesse campo, preciso recuperar essa foto e exibir numa JSP. Estou tendo erro e não sei se estou indo pelo caminho certo.
Estou tentando assim:
utputStream out = response.getOutputStream();
int tamanho = 1;
byte[] buffer = new byte[1024*tamanho];
InputStream is = getDao().recuperaFoto();
int bytesread = 0;
while((bytesread = is.read(buffer))!=-1){
out.write(buffer,0,bytesread);
}
out.flush();
out.close();
is.close();
java.lang.NullPointerException
at oracle.sql.LobPlsqlUtil.plsql_read(LobPlsqlUtil.java:969)
at oracle.sql.LobPlsqlUtil.plsql_read(LobPlsqlUtil.java:63)
at oracle.jdbc.dbaccess.DBAccess.lobRead(DBAccess.java:662)
at oracle.sql.LobDBAccessImpl.getBytes(LobDBAccessImpl.java:100)
at oracle.sql.BLOB.getBytes(BLOB.java:214)
at oracle.jdbc.driver.OracleBlobInputStream.needBytes(OracleBlobInputStream.java:162)
at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:108)
at javax.imageio.stream.FileCacheImageInputStream.readUntil(FileCacheImageInputStream.java:98)
at javax.imageio.stream.FileCacheImageInputStream.read(FileCacheImageInputStream.java:117)
at com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.canDecodeInput(JPEGImageReaderSpi.java:78)
at javax.imageio.ImageIO$CanDecodeInputFilter.filter(ImageIO.java:526)
at javax.imageio.spi.FilterIterator.advance(ServiceRegistry.java:789)
at javax.imageio.spi.FilterIterator.(ServiceRegistry.java:783)
at javax.imageio.spi.ServiceRegistry.getServiceProviders(ServiceRegistry.java:490)
at javax.imageio.ImageIO.getImageReaders(ImageIO.java:605)
at javax.imageio.ImageIO.read(ImageIO.java:1376)
at javax.imageio.ImageIO.read(ImageIO.java:1306)
at servlet.FotoServlet.doPost(FotoServlet.java:97)
Julianostr olha só o código que eu mostrei ele está funcionando a imagem está sendo recuperado do banco e está sendo exibido na tela, o meu problema é o seguinte eu tenho algunas valores no meu html que somem e fica só a imagem.
estou fazendo uma especie de vitrine de produtos…ao pedir pra exibir todos os produtos, ele lista numa tabela o jsp, todos os produtos que necessito…porem, na imagem, ocorre o erro…somente está exibindo a primeira imagem no banco…ou seja, todas as tuplas exibindo a msma imagem
<%
List fotoList = (List) request.getAttribute("FotoList");
List IDS = new ArrayList();
for (Iterator i = fotoList.iterator(); i.hasNext();) {
Foto f = (Foto) i.next();
Long id = f.getId();
IDS.add(id);
session.setAttribute("IDS", IDS);
%>