He insertado una imagen en una base de datos access y no se visualiza

He insertado una imagen en una base de datos access y para visualizarla pongo:
response.ContentType="images/pjpeg"
response.binerywrite (rs("Foto")
Pero no me visualiza la foto, no se a que es debido, llevo peleándome con un compañero un par de días intentando solucioner esto pero no hay forma.
Por favor si sabes la solución ayudame y si tienes algún código echo que sirva para esto te agradecería que me le enviaras.
[email protected]
1

1 Respuesta

38.800 pts. Programador, Analista, WebMaster
Entonces mi siguiente pregunta es:
Que te complica más la vida.. ¿hacer qué la aplicación en access guarde la imagen en una carpeta, o hacer que una página Web muestre una imagen de una base de datos?
Piensa que al guardar la imagen en la base de datos, condenas a que esta ocupe bastante más, y a que las consultas sean más lentas, y a que tenga más posibilidades de problemas (no me fio demasiado de access, supongo que se nota.. yo programo con Delphi y bases de datos paradox). De todas formas, si lo deseas hacer así, dejame que haga unas pruebas, y te contesto tras ello.
Ok, perfecto si me puedes mandar algún ejemplillo de alguna solución... me fio de tu opinión dime como crees tu que loharias y si tienes algo que funcione... se agradece si me lo pasas.
Hasta luego.
Y gracias.
Eso que me propones ya lo he hecho otras veces, pero de lo que se trata ahora es de hacer una aplicación en access para una inmobiliaria. Ellos insertan las fotos en la base de datos para visualizarlas en los informes y formularios y a su vez el ordenador donde esta esa base de datos va a ser un servidor en el que va a estar alojada una página web que trabaja con la misma base de datos, pero no nos funciona el visualizar la imagen.
¿Se te ocurre alguna opción?
Si tienes algún ejemplo... Se agradece!
Muchas gracias.
Antes de nada.. ¿cuál es la razón de incluir la foto en la base de datos? ¿Por qué no tener un campo que guarde el nombre de la foto, y la foto guardada en formato JPG en una carpeta?
Suponiendo que la base de datos se llama "Prueba.mdb", y que esta tiene una tabla llamada "MiTabla", y que esta tiene un campo llamado "Imagen" que contiene el JPG, la página donde se vería la imagen:
<html>
<head>
<title>Pagina de prueba</title>
</head>
<body>
<img src="imagenBin.asp">
</body>
</html>
imagenBin.asp:
<%
set Conexion=Server.CreateObject("ADODB.Connection")
Conexion.Open "DSN=NO_SE_LA_DSN"
set Archivo=Server.CreateObject("ADODB.Recordset")
Archivo.Open "SELECT Imagen FROM MiTabla",Conexion
response.ContentType="image/JPEG"
response.BinaryWrite Archivo("Imagen")
Archivo. Close
Conexión. Close
%>
Nota: Se mostraría la imagen del primer registro. Para ver un registro determinado, tendrás que pasar el registro que quieres ver en la llamada a la página asp... por ejemplo src="imagenBin.asp?ID=100", y filtrar la tabla en imagenBin.asp con referencia a ese dato.
De todas formas.. repito.. yo lo que haría es que la aplicación utilizara un campo con el nombre de la imagen, y las guardaría todas en una carpeta. De esa manera serian accesibles desde la aplicación en access, y desde la página Web, ocupando la base de datos bastante menos.
Muchas gracias por tu ayuda pero me sigue dando el mismo problema que tenia, sale el típico signo que suele salir cuando no encuentra la foto, nosotros nos bajamos un ejemplio de internet en el que si se ve la foto en la página asp pero no se ve en los formularios de access, y a nosotros nos pasa justamente lo contrario se ve en los formularios de access pero no se puede visualizar en la página .asp.
No se... Intentaremos buscar otra solución porque esto parece imposible.
Muchas gracias por todo.
Nota: Lo que si os puedo asegurar, es que el código que os he pasado funciona si en el campo se guarda una imagen JPG en formato binario. Lo que os aconsejo es preguntar a un experto en access como guardar una imagen en formato binario en un campo de la base de datos, y poder visualizarla en vuestra aplicación en tiempo de ejecución.
http://www.todoexpertos.com/categorias/tecnologia_e_internet/bases_de_datos/microsoft_access/Default.aspx?vistaactual=expertos
A mi también me pasa eso, creía que el problema era mio, (odio access, tengo una version antigua).. pero por lo que parece, el problema puede ser que el access no contempla el formato JPG.. si os fijáis en la base de datos abierta en Access (por lo menos a mi me pasa), la imagen es incluida en la base de datos como un "paquete".. en cambio un BMP si lo contempla como imagen. Me gustaría ayudaros si ese es el problema, pero no soy experto en access.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas