Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Insertar Imagen Blob en MySQL

Estas en el tema de Insertar Imagen Blob en MySQL en el foro de Bases de Datos General en Foros del Web. Hola, buenos dias. Bueno, pues lo dicho, estoy en una consonla linux, estoy dentro de MySQL, y para insertar una imagen en un campo blob, ...
  #1 (permalink)  
Antiguo 21/01/2005, 03:36
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Insertar Imagen Blob en MySQL

Hola, buenos dias.

Bueno, pues lo dicho, estoy en una consonla linux, estoy dentro de MySQL, y para insertar una imagen en un campo blob, ¿Como hago?

¿ insert into tabla(campo_blob) values('/path/imagen.jpg') ?

En fin, espero puedan resolverme la duda.

Gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 21/09/2009, 13:52
 
Fecha de Ingreso: octubre-2008
Ubicación: Rio 3
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Insertar Imagen Blob en MySQL

Hola, para insertar una imagen en una base de datos debes utilizar campos del tipo blob para almacenar datos binarios y para insertar la imagen debes crear un script que lea tu imagen en binario, aqui hay un ejemplo que saque de bytes.com/topic/mysql/answers/643396-how-store-images-binary-data-mysql-database-using-blob-fields... está en PHP, desde lina de comandos de linux no se como se lee una imagen en binario...

// primero creamos una tabla en mysql con los campos que necesitamos, el campo blob será el que almacene la imagen
CREATE TABLE Image
(
ImgID SERIAL,
ImgTitle VARCHAR(255) NOT NULL Default 'Untitled',
ImgType VARCHAR(255) NOT NULL Default 'png',
ImgData MEDIUMBLOB NOT NULL,
Primary Key(ImgID)
)


// Read the image bytes into the $data variable
//leemos la imagen como bytes y la grabamos en $data
$fh = fopen("MyImg.jpg", "r");
$data = addslashes(fread($fh, filesize("MyImg.jpg")));
fclose($fh);

// Create the query
// hacemos el insert de la variable $data en el campo blob de la tabla
$SQL = "
INSERT INTO Image(ImgTitle, ImgType, ImgData)
VALUES('My Image', 'jpg', '$data')";

// Execute the query
$RESULT = mysql_query($SQL) or die("Couldn't insert image");

// Fetch the latest image.
// para ver la ultima imagen cargada

$SQL = "SELECT ImgData, ImgType FROM Image ORDER BY ImgID DESC LIMIT 1";
$RESULT = @mysql_query($SQL) or die("Query failed");

// Read the results
if($ROW = mysql_fetch_assoc($RESULT)) {
// Set the content type and print the data.
header("Content-type: img/". $ROW['ImgType']);
echo $ROW['ImgData'];
}
else {
// No images were found, print error
echo "No images were found";
}

espero que les sea de utilidad, para mi lo fue
Saludos
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.
Tema Cerrado

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 00:19.