PostgreSQL - Fotos

   
Vista:

Fotos

Publicado por Cora Estrada (2 intervenciones) el 20/09/2010 16:56:58
Hola a todos, gracias por la oportunidad de recibir apoyo.

Mi problema es el siguiente

Tengo una aplicación donde selecciono de una carpeta una foto y la guardo en una tabla postgres con la siguiente estructura:

id_necesidad integer,
cod_imagen integer,
nomb_imagen varchar(100),
archivo_oid oid,
mime varchar(100),
size integer

Aca puedo consultar la fotos sin problema.

luego por un proceso de selección copio el registro en otra tabla postgres con la misma estructura, la copia la realiza bien los mismos datos.

ya aca no puedo consultar las fotos me envía el error

[function.pg-loopen]: Unable to open PostgreSQL large object

a continuacion el código, que funciona en el primer caso para la consulta pero no en el segundo caso:

include '../../ConexionMunicipal.php';

$cod_imagen = $_GET['cod_imagen'];

if (isset($_GET['cod_imagen']))
{
$sql = "SELECT * FROM nefotos WHERE cod_imagen='".$_GET['cod_imagen']."'";

$consulta = pg_exec($conexion,$sql);

if (pg_numrows($consulta) > 0 )
{
$row = pg_fetch_object($consulta);

$nombre = $row->nomb_imagen;
$archivo_oid = $row->archivo_oid;
$tamano = $row->mime;
$tipo_mime = $row->size;

pg_exec($conexion,"BEGIN TRANSACTION");

$campo_blob = pg_loopen($conexion,$archivo_oid,"r");

// Creamos las cabeceras para ver el archivo

header("Content-type: $tipo_mime");
header("Pragma: no-cache");
pg_loreadall($campo_blob);

pg_loclose($campo_blob);
pg_exec($conexion,"COMMIT TRANSACTION");
pg_exec($conexion,"END TRANSACTION");
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Fotos

Publicado por E.T (1 intervención) el 21/12/2010 05:38:43
para la foto usar bytea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar