Hola gente, como va?
Tengo un problema para mostrar una imagen guardada como blob en la base de datos.
El script que llamo para mostrar la imagen es el siguiente:
$parrafo = getParrafo($_GET["id_parrafo"]);
header("Content-type: " . $parrafo["tipo_imagen_parrafo"]);
echo $parrafo["archivo_imagen_parrafo"];
La inclusion a la base de datos la hice de tres maneras distintas:
- Manualmente con phpmyadmin.
- De esta forma:
$consulta = "UPDATE parrafo SET archivo_imagen_parrafo = '" . file_get_contents($_FILES["imagen_parrafo"]["tmp_name"]) . "', tipo_imagen_parrafo = '" . $_FILES["imagen_parrafo"]["type"] . "' WHERE id_parrafo = '" . $idParrafo . "'";
- Y de esta otra forma:
$consulta = "UPDATE parrafo SET archivo_imagen_parrafo = '" . base64_encode(file_get_contents($_FILES['imagen_parrafo']['tmp_name'])) . "', tipo_imagen_parrafo = '" . $_FILES["imagen_parrafo"]["type"] . "' WHERE id_parrafo = '" . $idParrafo . "'";
Ninguna de estas formas me funciona, pero todas guardan correctamente el contenido, por lo menos es lo que se ve en phpmyadmin.
Tengo entendido que esto no es para nada dificil, sin embargo no logro hacer mostrar la imagen. Hice exactamente lo mismo con un sonido mp3, y funciono perfectamente, por lo que no me cierra que no se puede mostrar la imagen.
Tambien me fijo en firebug y me llega un response 200 OK, y me devuelve el peso exacto guardado del archivo, lo que es mas raro todavia.
Me falta guardarlo de alguna manera especial, como con real_escape_string, addslashes, o algo por el estilo? Puede ser tambien que haya una extension en php que no este activada, y por lo tanto no me deja hacer esto? Utilizo wamp, con php 5.
Cualquier cosa me pueden preguntar.
Muchas gracias de antemano.
Un saludo.