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

insertar imagen en base de datos desde jsp

Estas en el tema de insertar imagen en base de datos desde jsp en el foro de Java en Foros del Web. hora resulta que tengo un problema con las imagenes. estoy realizando una tienda virtual en jsp, la base de datos es de ms Access y ...
  #1 (permalink)  
Antiguo 11/09/2005, 03:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 37
Antigüedad: 19 años, 5 meses
Puntos: 0
insertar imagen en base de datos desde jsp

hora resulta que tengo un problema con las imagenes.

estoy realizando una tienda virtual en jsp, la base de datos es de ms Access y tengo establecido un puente jdbd:odbc, el problema es que para los detalles de cada articulo necesito que tenga una foto del articulo en cuestion.

No estoy muy ducho en bases de datos, pero creo que la imagen se considera Objeto Ole, por lo que a la tabla de articulos le he puesto un campo de OBjeto Ole. El problema es que no se como puedo enviar la imagen y cargarla en la DB y tambien leerla.

he buscado informacion pero no he encontrado gran cosa.
  #2 (permalink)  
Antiguo 11/09/2005, 12:37
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
La verdad que acces no es un motor de abse de datos, y por ende no podemos pedirle demaciado, de hecho, si tienes mas de 20 usuarios concurrentes veras que ya acces no te sirve mucho.

En tu caso lo que mas te combiene es solo guardar en la base de datos el path completo a donde dejes la imagen, es decir, solo su ruta, despues solo la pones en el img correspondiente y te la mostrara.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 13/09/2005, 11:27
msi
 
Fecha de Ingreso: marzo-2005
Mensajes: 70
Antigüedad: 19 años, 2 meses
Puntos: 0
Una pregunta al respecto. Suponiendo una única ruta donde se almacenan las imágenes. ¿No habría problemas si 2 imágenes distintas se guardan con el mismo nombre? ¿O lo normal es tener una ruta diferente para cada usuario?

Lo digo porque tendré que almacenar imágenes dentro de poco y todavía no se si almacenar la imagen o sólo la ruta.

Dryaner, en cuanto al código de insertar/mostrar la im, todavía no te puedo ayudar.

Un saludo.
  #4 (permalink)  
Antiguo 13/09/2005, 19:02
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
No puedes tener en el mismo directorio 2 imagenes con el mismo nombre que ademas tengan la misma extencion. Pero si las vas a guardar en la base de datos no hay problemas, pues lo mas normal es que se guarde esta en forma de bytes, por lo demas, este conflicto no se produce en un motor de base de datos.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 15/09/2005, 00:43
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola,

Eso lo puedes solucionar añadiendo un nuevo campo a la tabla de la base de datos donde que recogido el nombre físico con el que tú has almacenado el fichero. Ese nombre físico, lógicamente, tendrás que generarlo tú cada vez que vayas a subir una imagen.

Aparte de todo esto, te recomiendo el uso de otra base de datos. Con cierto volumen de datos/usuarios, Access se vuelve intratable....

Saludos.
  #6 (permalink)  
Antiguo 15/09/2005, 15:11
(Desactivado)
 
Fecha de Ingreso: septiembre-2005
Mensajes: 11
Antigüedad: 18 años, 7 meses
Puntos: 0
lo que hago yo en estos casos es crear un campo con el nombre fotourl, eso si se tendria que validar que en la carpeta todos tuvieran nombres diferentes por qjemplo cambiando el nombre de la imagen por el id

__________________________________________________ _______________________
<%@ page language="java" contentType="text/html" import="java.sql.*"%>

<%@ include file="Conexion.jsp" %>// hace la conexion a la base de datos

<%

try {

String consulta = "SELECT * FROM integrantes";
Statement bloqueInst = con.createStatement();
rs = bloqueInst.executeQuery(consulta);

}catch (SQLException e2) {
// Exception when executing java.sql related commands, print error message to the console
System.out.println(e2.toString());
}
catch (Exception e3) {
// other unexpected exception, print error message to the console
System.out.println(e3.toString());
}
%>

<html>
<head>
<title>Listado de Integrantes del Grupo</title>
</head>
<body>
<center>
<p><font color="#333333"><strong>Listado de Integrantes del Grupo<br>
Grupo <font color="#000099">&quot;Trionix&quot;</font></strong></font></p>
</center>

<table border="1" cellpadding="2" cellspacing="0" width="750">
<tr>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Foto</strong></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Cédula</strong></font></div></td>
<td><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nombre</strong></font></div></td>
<td><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>e-mail</strong></font></div></td>
</tr>
<% while (rs.next()) { %>
<tr>
// el siguinete renglon coloca en una tabla la foto ademas de los respectivos datos cedula, nombre, email.
<td><div align="center"><img src="<%= rs.getString("fotourl") %>" width="48" height="48"></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs.getString("cedula") %></font></div></td>
<td><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs.getString("nombre") %></font></div></td>
<td><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs.getString("email") %></font></div></td>
</tr>
<% } %>
</table>

<% try{
rs.close();
con.close();}
catch (Exception e){
System.out.println("se totio");
} %>
__________________________________________________ ______________________
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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