Almacenar / Recuperar imágenes en PostgreSQL

From: "I(dot)N(dot)T(dot) - Dpto(dot) programación" <dpto(dot)programacion(at)grupo-int(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Almacenar / Recuperar imágenes en PostgreSQL
Date: 2014-02-07 09:04:10
Message-ID: 52F4A18A.3040203@grupo-int.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos días lista,

No se si este será el foro adecuado para este problema...

He creado una tabla de imágenes de productos tal que,

CREATE TABLE productos_imagenes
(
id int4 NOT NULL DEFAULT nextval('"productos_imagenes_seq"'::text),
id_producto int4 NOT NULL DEFAULT 0,
imagen bytea,
CONSTRAINT productos_imagenes_pkey PRIMARY KEY (id)
) WITH OIDS;

En el campo "imagen" deseo almacenar BMPs no muy grandes (20Kb máx).

Estoy desarrollando la plataforma en Visual C++ 6.0. Creo el recordset
con el campo como CByteArray y almaceno las imágenes con el siguiente código

CRSProductosImagenes rs;
rs.Open();
rs.AddNew();
rs.m_id_producto=1;
CFile f;
f.Open("C:\\producto_1.bmp",CFile::modeRead);
rs.m_imagen.SetSize(f.GetLength());
f.Read(rs.m_imagen.GetData(),f.GetLength());
f.Close();
rs.Update();
rs.Close();

Hasta aquí "parece" que va todo bien, desde luego almacena un registro...

Recupero la imágen para almacenarla (copiarla) en otro BMP distinto de
la siguiente forma

CRSProductosImagenes rs;
rs.m_strSort="id_producto";
rs.m_strFilter="id_producto=1";
rs.Open();
rs.MoveFirst();
CFile fNew;
fNew.Open("C:\\producto_1_copy.bmp",CFile::modeCreate | CFile::modeWrite);
fNew.Write(rs.m_imagen.GetData(),rs.m_imagen.GetSize());
fNew.Close();
rs.Close();

Parece que no da errores pero el problema es que el nuevo BMP
"producto_1_copy.bmp" no es ni siquiera un BMP.

Alguien sabe cómo almacenar / recuperar correctamente una imagen en
PostgreSQL a través de C++.

Muchas gracias de antemano

Luis

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hellmuth Vargas 2014-02-07 13:26:04 Re: log de sentencias con duracion y/o cantidad de registros devueltos
Previous Message Alvaro Herrera 2014-02-07 01:17:35 Re: log de sentencias con duracion y/o cantidad de registros devueltos