elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 03:46  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos
| | | |-+  insertar imagenes en base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: insertar imagenes en base de datos  (Leído 2,795 veces)
xemnas

Desconectado Desconectado

Mensajes: 74


Ver Perfil
insertar imagenes en base de datos
« en: 21 Noviembre 2011, 19:45 »

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


En línea
fran800m

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #1 en: 21 Noviembre 2011, 20:01 »

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,


En línea
seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #2 en: 22 Noviembre 2011, 04:19 »

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.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #3 en: 22 Noviembre 2011, 13:13 »

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
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

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

El As del Club Paris


Desconectado Desconectado

Mensajes: 1.815


Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #4 en: 22 Noviembre 2011, 15:09 »

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...
En línea

sudo suck --mycock -o force
Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #5 en: 22 Noviembre 2011, 15:16 »

¿Para que sirven los campos binarios entonces?
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

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

El As del Club Paris


Desconectado Desconectado

Mensajes: 1.815


Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #6 en: 22 Noviembre 2011, 16:01 »

Para lo que vos como programador los quieras usar, guardar tipos abstractos como objetos.
En línea

sudo suck --mycock -o force
Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #7 en: 22 Noviembre 2011, 17:27 »

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
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

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

seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #8 en: 22 Noviembre 2011, 21:19 »

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
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
fran800m

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #9 en: 23 Noviembre 2011, 02:01 »

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,
En línea
Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #10 en: 23 Noviembre 2011, 04:05 »

Es que con lo que se pregunta originalmente no alcanza para seguir con la discusión, faltan datos.

Por ej. en mi caso en particular y hablando de desarrollar en ASP.NET, para atender los request de imágenes alojadas en el servidor se suele utilizar handlers (*.ashx), que son quienes se encargan de obtener los datos binarios y renderizarlos en el navegador, y ahí mismo se puede definir si la información es "cacheable" y por cuanto tiempo, con lo cual solo se hace la consulta en ese intervalo :)

Saludos
« Última modificación: 23 Noviembre 2011, 04:06 por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

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

fran800m

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Re: insertar imagenes en base de datos
« Respuesta #11 en: 23 Noviembre 2011, 04:19 »

Citar
Por ej. en mi caso en particular y hablando de desarrollar en ASP.NET, para atender los request de imágenes alojadas en el servidor se suele utilizar handlers (*.ashx), que son quienes se encargan de obtener los datos binarios y renderizarlos en el navegador, y ahí mismo se puede definir si la información es "cacheable" y por cuanto tiempo, con lo cual solo se hace la consulta en ese intervalo

Gracias Novlucker, eso me lo apunto  :)
En línea
seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #12 en: 25 Noviembre 2011, 03:49 »

todavia no sabemos que esta haciendo, yo no hable de web, sino de .NET o VB en MySQL o SQL Server, me imagino que para web MySQL es igual. me ponen mal los usuarios que preguntan y no dan respuesta.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.829


I'Love...!¡.


Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #13 en: 25 Noviembre 2011, 05:11 »

@seba123neo
Una preguntona... de cuantos bytes es un solo varchar en una BDD? (No me refiero a la dimencion maxima).

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: insertar imagenes en base de datos
« Respuesta #14 en: 25 Noviembre 2011, 05:25 »

@seba123neo
Una preguntona... de cuantos bytes es un solo varchar en una BDD? (No me refiero a la dimencion maxima).

Dulces Lunas!¡.

si declaras varchar(80) solo podras poner 80 caracteres o sea 80 bytes. aunque varchar usa unos bytes extra en la cabecera para almacenar la longitud. una cita:

Citar
Al ser variable, Varchar necesita utilizar 1 o 2 bytes adicionales para registrar la longitud del valor: 1 byte si la longitud máxima de la columna es 255 bytes o menor y 2 bytes si es más. Entonces, si declaramos un Varchar(255) utilizará un byte adicional ósea será 256 y si lo declaramos Varchar(1500) en realidad serán 1502 bytes.

para tu pregunta, varchar(1) seria igual a 2 bytes.

saludos.
« Última modificación: 25 Noviembre 2011, 05:37 por seba123neo » En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Insertar en una base de datos access desde VC 6
Programación C/C++
rbpkirow 1 902 Último mensaje 2 Junio 2005, 20:14
por pepel
[C# codigo] insertar registro en base de datos
.NET
SRVAM 6 10,706 Último mensaje 20 Enero 2010, 08:58
por SRVAM
PHP - Insertar formulario en base de datos MySQL
PHP
javierete 1 2,656 Último mensaje 7 Febrero 2011, 21:35
por Nakp
Insertar datos en la base de datos
.NET
andaluz 5 398 Último mensaje 27 Febrero 2012, 21:12
por seba123neo
base de datos con imagenes y demas datos por numero
Bases de Datos
Anonymous250 1 97 Último mensaje 3 Mayo 2012, 23:55
por adastra
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines