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

Mostrar imagen de una base de datos(Struts)

Estas en el tema de Mostrar imagen de una base de datos(Struts) en el foro de Java en Foros del Web. Mi problema está al intentar mostrar fotos que los usuarios suben a mi aplicacion. Para subirla no tengo problema con html:file, la almaceno y almaceno ...
  #1 (permalink)  
Antiguo 11/12/2008, 04:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Mostrar imagen de una base de datos(Struts)

Mi problema está al intentar mostrar fotos que los usuarios suben a mi aplicacion.
Para subirla no tengo problema con html:file, la almaceno y almaceno el nombre en la base de datos para despues tener acceso a ella. pero es que a la hora de acceder en el jsp no soy capaz, ni con los tags de struts ni sin ellos...
  #2 (permalink)  
Antiguo 11/12/2008, 06:21
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Mostrar imagen de una base de datos(Struts)

La imagen la cargas en tu base de datos o subes solamente el path donde esta?
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #3 (permalink)  
Antiguo 11/12/2008, 06:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

Actualmente subo el fichero y solamente guardo el nombre de la imagen en mi base de datos, aunque no tendria problema en cambiar el modo de funcionamiento. He pensado en hacerlo de la otra manera, pero tampoco he encontrado como hacerlo correctamente...

Ahora subo la imagen a una carpeta dentro de web-inf, lo que no se si será correcto, sacando la ruta con el contexto del servlet(action). pero al intentar acceder desde mi aplicacion a esa ruta no encuentra nada aunque lo ponga a pelo
  #4 (permalink)  
Antiguo 11/12/2008, 06:44
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Mostrar imagen de una base de datos(Struts)

No la subas dentro de WEB-INF. Create una carpeta fuera, a la altura de WebContent e intentalo desde alli que no tendrias que tener ningun problema
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #5 (permalink)  
Antiguo 11/12/2008, 07:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

Algo de luz xD, ya lo cambie(antes lo habia probado pero debí hacerlo mal..). Ahora si meto en el jsp la direccion directamente ya me la muestra, debía ser por el acceso a WEB-INF supongo. Ahora otra duda jeje, supongo que es más basica pero de momento no lo había necesitado:
si ahora quiero acceder al nombre de la foto sacandola del bean que le mando al jsp como sería?? tengo esto pero creo que no es correcto:
Código:
<img src="../imagenes/Fotos/<bean:write name='usuarioForm' property='foto'/>"  style="width:80px;height:60px;">
supongo que será el tema de comillas o quiza no se pueda..
  #6 (permalink)  
Antiguo 11/12/2008, 07:45
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Mostrar imagen de una base de datos(Struts)

Deberia ser como pones, sera alguna tonteria de comillas o algo asi
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #7 (permalink)  
Antiguo 11/12/2008, 09:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

No me funciona, he estado mirando y por lo que he podido leer no es correcto meter un tag de struts dentro de otro, ni con tags html clasicos tampoco funciona.
Estoy mirando los tags JSTL que por lo visto es la solución :S, aunque aun no se muy bien como funcionan y cual he de usar...
  #8 (permalink)  
Antiguo 11/12/2008, 11:45
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

Solucionado :))))
Al final no me hizo falta usar jstl, se define un tipo de dato con bean:define, después en el tag de la imagen lo llamamos con el codigo java de la id creada.

Importante meter la ruta relativa dentro de "foto" porque si lo pones junto con el codigo da error

hay queda el codigo:

Código:
	
       <bean:define id="fotoUser" name="usuarioForm" property="foto"
	type="java.lang.String"/>
	<td><html:img src="<%= fotoUser %>" style="width:80px;height:60px;">
Espero que a alguien le sirva...
  #9 (permalink)  
Antiguo 12/12/2008, 09:57
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Mostrar imagen de una base de datos(Struts)

Los tags de struts no puedes usarlos dentro de otro tag de struts, pero puedes hacer referencia a las propiedas de otros beans. La forma en que lo has hecho tu es totalmente valida y funciona asi que perfecto

Por cierto, usas Struts1, no?

Te aconsejo que pruebes el 2
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #10 (permalink)  
Antiguo 12/12/2008, 14:31
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

He mirado algo del 2, pero he empezado hace relativamente poco con strut 1 y necesito terminar mi proyecto cuanto antes :), pero cuando lo termine si me gustaría mirar algo, seguro que es mucho mas potente...
  #11 (permalink)  
Antiguo 27/05/2013, 17:29
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Respuesta: Mostrar imagen de una base de datos(Struts)

Por favor y como la subiste, alguien me pude decir, ninguna de estas dos opciones me ha funcionado...
String filePath = getServlet().getServletContext().getRealPath("/") + "covers"; //devuelve una direccion que no existe .metadata\.plugins\org.eclipse.wst.server.core\tmp 0\wtpwebapps\ProjetSession_version6.0\covers\mag_g low_Argentina_2013-05.jpg

String filePath = getServlet().getServletContext().getInitParameter( "/") + "covers"; //devuelve NULL
  #12 (permalink)  
Antiguo 28/05/2013, 01:07
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Mostrar imagen de una base de datos(Struts)

Este es un tema del 2008, no deberías contestar a él.

Esa ruta te la devuelve porque no estás desplegando tu proyecto en un servidor, si no que lo haces a través de eclipse y éste utiliza una "copia" del servidor.

Para subir imágenes a través de html usa los formularios, busca en google, está lleno de tutoriales.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
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 20:31.