Hola, necesito ayuda porfavor. Estoy tratando de descargar un archivo subido
a un campo BYTEA, mi problema es que al momento de descargarlo se muestran
solo caracteres y en el caso de ser una imagen me sale un error que dice
archivo corrupto.
Este es el codigo con el que inserto el archivo en la BD:
*$conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres
password=postgres")
or die('No pudo conectarse: ' . pg_last_error());*
**
**
*$file = "C:\Users\Alfredo\Desktop\imagen.jpg";*
*$data = file_get_contents($file);
$escaped = pg_escape_bytea($data);*
**
*$t='"';*
*$cod = "0";*
**
*$consulta = "UPDATE preguntas SET ".$t."bArchiv".$t."=E'$escaped'::bytea
WHERE ".$t."cCodPre".$t."='$cod'";*
**
*$resultado = pg_query($consulta) or die('Consulta fallida: ' .
pg_last_error());*
Y este es el codigo con el que descargo el archivo:
*header('Content-type: image/jpg');*
**
*$conexion_bd = pg_connect("host=localhost dbname=ISO17799 user=postgres
password=postgres")
or die('No pudo conectarse: ' . pg_last_error());*
**
*$cod = "0";
$t = '"';
$consulta = "SELECT * FROM preguntas WHERE ".$t."cCodPre".$t."='$cod'";*
*$resultado = pg_query($consulta) or die('Consulta fallida: ' .
pg_last_error());*
**
*$row = pg_fetch_array($resultado);*
**
*pg_free_result($resultado);*
**
*header("Cache-control: private");*
**
*//$row[4] es la columna de la tabla que tiene el campo BYTEA
$file=pg_unescape_bytea($row[4]);*
**
**
*header("Content-Disposition: attachment; filename=imagen.jpg");*
*
print $file;*
**
**
**
Porfavor espero puedan ayudarme, no se como arreglar esto. Gracias.
Saludos.