insertar imagenes en base de datos

Iniciado por xemnas, 21 Noviembre 2011, 19:45 PM

0 Miembros y 3 Visitantes están viendo este tema.

xemnas

hola a tod@s, alguien podría decirme como insertar una imagen en un insert into?
he probado a poner la ruta donde tengo la imagen pero no me la coge. gracias ;D

fran800m

Yo nunca lo he hecho, guardo la ruta y subo el fichero.

Para subir la imagen supongo que tendrás que crear un flujo y tener en la tabla un campo binario o similar.

Supongo que habrá opiniones a favor y en contra de hacerlo de una manera u otra, yo prefiero como lo hago ahora.

Espero que alguien más te eche una mano, seguro que yo también aprendo algo nuevo  :)

Un saludo,

seba123neo

no se en que lenguaje estas programando, pero es simplmenete insertar un array de bytes de la imagen (binario), para mysql por ejemplo se usa el campo BLOB y para SQL Server se usa el bynary (aunque este esta en desuso) y yo uso el varchar(max).

lo que tenes que hacer es desde programacion, cargar la imagen y convertirla a array de bytes, y grabas eso...luego para recuperar la imagen haces lo contrario, convertis los array de bytes a imagen.

yo lo uso en SQL Server donde pueden guardar imagenes de los productos, pero les doy para que acepte solo una imagen inferior a 50kb con motivo de que no se sobrecarge la base.

lo bueno de esto es que es mas portable, cuando haces backup las imagenes las tenes en la base de datos y no tenes que ir llevando las imagenes aparte y peor si son miles.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Novlucker

Más de lo mismo que han dicho antes ... ¿En que lenguaje intentas hacer el insert? ¿En que gestor de base de datos?

En MSSQL desde TSQL por ejemplo lo puedes hacer con OPENROWSET, pero dudo que intentes hacerlo desde TSQL :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

[u]nsigned

Es mejor solo guardar el path de la imagen en el server, si guardas la imagen en un campo binario vas a freir tu procesador...

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Novlucker

¿Para que sirven los campos binarios entonces?
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

[u]nsigned

Para lo que vos como programador los quieras usar, guardar tipos abstractos como objetos.

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Novlucker

Entre otras cosas, imágenes.

No se va a freír ningún procesador si guardas imágenes en una base de datos, esta claro que por una cuestión de performance no se conveniente guardar las imágenes estáticas de un sitio en una base de datos, pero por lo general es cuestión de gustos y dependerá de cada caso.

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

seba123neo

Cita de: Novlucker en 22 Noviembre 2011, 17:27 PM
Entre otras cosas, imágenes.

No se va a freír ningún procesador si guardas imágenes en una base de datos, esta claro que por una cuestión de performance no se conveniente guardar las imágenes estáticas de un sitio en una base de datos, pero por lo general es cuestión de gustos y dependerá de cada caso.

Saludos

+1
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

fran800m

Permitidme una pregunta.

Para reducir la transferencia desde servidor a cliente se suele usar directrices en .htaccess para marcar la caducidad de ficheros estáticos, como imágenes y otros, para que se tire de caché de navegador antes de enviar dichos ficheros desde servidor.

Si creamos "al vuelo" las imágenes siempre se estaría realizando dicha transferencia, ¿no?

Además, el solo hecho de afectar al rendimiento sería para pensárselo si la aplicación ya está en apuros a ese respecto, ¿no creéis?

Yo no lo veo tanto cuestión de gustos como de necesidades concretas.

Por cierto, buen rollo  ;D que solo por disentir ya se me han echado encima.

Sería bueno que comentáramos los pros y contras, a ser posible en base a experiencias concretas.

Un saludo,