Foros del Web » Programación para mayores de 30 ;) » Java »

Sacar imagen de SQL Server 200

Estas en el tema de Sacar imagen de SQL Server 200 en el foro de Java en Foros del Web. Hola a todos!! Sin mentirles ya llevo mas de tres días con el siguiente problema: Mis herramientas Weblogic 8.1. JSP de Interfaz y Package por ...
  #1 (permalink)  
Antiguo 03/01/2006, 07:48
 
Fecha de Ingreso: enero-2006
Mensajes: 1
Antigüedad: 18 años, 4 meses
Puntos: 0
Sacar imagen de SQL Server 200

Hola a todos!!

Sin mentirles ya llevo mas de tres días con el siguiente problema:

Mis herramientas

Weblogic 8.1.
JSP de Interfaz y Package por detras como lógica de negocio.
SQL Server 2000 como Base de Datos.

El problema que tengo es que en la Base de Datos tengo una columna llamada foto, que es del tipo Image. Lo que requiero es extraer la foto de la base de datos y de algun modo presentarla en un JSP. Claro que aca téngo 2 dudas:

- Para extraer la foto actualmente estoy usando:

PreparedStatement pstmt = con.prepareStatement("select foto from Foto where nombre='Imagen'");

System.out.println("Llega aca??? I");
ResultSet rs2=pstmt.executeQuery();
if(rs2.next()) {
imageBytes = rs2.getBytes(1); //Saco byte por Byte
}
pstmt.close();
rs2.close();


Ahora mi duda es como puedo hacer para mostrar imageBytes???? como puedo hacerlo para pasarlo a imagen??? a partir de esto me surge la otra duda:

- HTML para presentar imagenes utiliza el tag <IMG>. Pero este tag (lo que he visto) siempre recurre a una ruta para mostrar la imagen. <IMG src="Ruta">

Ahora com se puede hacer para que presente la foto que se extrae de la base de datos???

Por favor cualquier ayuda se las agradezco... chauuu!!
  #2 (permalink)  
Antiguo 04/01/2006, 01:17
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
1.- Se crea un servlet que devuelva la imagen sacandola de la BDD, siguiendo un modelo parecido a este:
http://www.javaalmanac.com/egs/javax...age.html?l=rel
con la diferencia de que la imagen la lees de la BDD en vez de desde un fichero como en el ejemplo.

2.- En tu pagina creas un <IMG src="servlet/xxx"> donde "servlet/xxx" es la ruta hacia tu servlet con los parametros adecuados para que devuelva la imagen que toca.

Listo.

PD: Si las imagenes son de tamaño considerable, quiza deberias considerar usar ResultSet.getBinaryStream(1) en vez de ResultSet.getBytes(1) para ir leyendo los bytes en un stream y devolviendolos al navegador sin almacenar toda la imagen de golpe en memoria (como ocurre cuando haces getBytes()).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.