RE: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla

2016-04-17 Por tema José de Paz
Buen día, 

En Delphi/Lazarus puedes utilizar el control TImage para cargar la imagen y 
luego extraer los metadatos (bytes) y así enviar a la BD.

Saludos

-Original Message-
From: "José Fermín Francisco Ferreras" <josefermi...@hotmail.com>
Sent: ‎17/‎04/‎2016 6:28 a. m.
To: "Francisco Olarte" <fola...@peoplecall.com>
Cc: "Lista PostgreSQL" <pgsql-es-ayuda@postgresql.org>
Subject: RE: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla

Sistema Operativo: Windows 10 Home
Lenguaje: Object Pascal/Lazarus Version 1.6 conectado a la base de datos 
mediante Zeoslib 7
PostgreSQL: 9.4


ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 












> From: fola...@peoplecall.com
> Date: Sun, 17 Apr 2016 11:18:49 +0200
> Subject: Re: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla
> To: josefermi...@hotmail.com
> CC: pgsql-es-ayuda@postgresql.org
> 
> Buenos dias:
> 
> 2016-04-17 6:48 GMT+02:00 José Fermín Francisco Ferreras
> <josefermi...@hotmail.com>:
> > Como puedo insertar una foto en una tabla en postgres mediante comando:
> > CREATE TABLE esquema.documento
> > (
> > numero_documento serial NOT NULL,
> > fecha_documento date NOT NULL,
> > nombre_cliente integer NOT NULL,
> > foto_documento bytea NOT NULL,
> > );
> > Me pregunto si se insertara de esta manera:
> > insert into esquema.documento(fecha_documento, nombre_cliente,foto) values
> > ('2016-04-17','Juan Perez','c:\foto.jpg');
> 
> Desde luego, asi no. Tienes que leer en el cliente la foto de alguna
> manera y ponersela en alguna sintaxis que se entienda, hay varias en
> el manual. El como depende sobre todo de que aplicacion estes usando
> para manejarla (p.e., si estas usando psql tienes pocas alternativas
> aparte de ponerla como una constante ).
> 
> P.e. Un jpg cualquiera:
> 
> $ od -t x1 -tc redacted_filename.JPG | head
> 000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 02 58
> 377 330 377 340 \0 020 J F I F \0 001 001 001 002 X
> 
> puede describirse como una constante bytea
> E'\\Xffd8ffe000104a464946000101010258...'
> 
> Dependiendo de tu entorno hay muchas formas de construirla, p.e.
> 
> $ head -c16 Documents/Boda\ y\ abuelos.JPG | perl -e "\$q=qq('); "'
> undef $/; print "E$qx",unpack("H*",scalar(<>)),"$q\n"'
> E'\\xffd8ffe000104a464946000101010258'
> 
> ( Parece mas de lo que es por lo dificil que es meter un script de
> perl que use ' y " y \ en la linea de comando del bash, probablemente
> en un archivo te quede solo:
> 
> #!/usr/bin/perl
> undef $/; # Slurp whole stdin in one go.
> print "E'x",unpack("H*",scalar(<>)),"'\n"'
> 
> > Y como se puede visualizar el registro con su imagen??
> 
> Pues como al reves, consigues el byte a y lo pasas a binario y se lo
> das a la rutina / programa.
> 
> > Alguien me puede ayudar??
> 
> Seguro, pero deberias empezar por decir mucho mas de lo que pones,
> como que lenguage/sistema operativo/entorno estas usando ( parece
> windows por el C:\, con lo que yo no mucho, pero hay mucho experto de
> windows suelto por aqui ) ( porque p.e. lo que te dije fallara casi
> seguro en windows por el tema del binmode aunque tuvieras perl y head
> ).
> 
> Un saludo.
> Francisco Olarte.
> 
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripci�n:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda

RE: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla

2016-04-17 Por tema José Fermín Francisco Ferreras
Sistema Operativo: Windows 10 HomeLenguaje: Object Pascal/Lazarus Version 1.6 
conectado a la base de datos mediante Zeoslib 7PostgreSQL: 9.4
ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 






> From: fola...@peoplecall.com
> Date: Sun, 17 Apr 2016 11:18:49 +0200
> Subject: Re: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla
> To: josefermi...@hotmail.com
> CC: pgsql-es-ayuda@postgresql.org
> 
> Buenos dias:
> 
> 2016-04-17 6:48 GMT+02:00 José Fermín Francisco Ferreras
> <josefermi...@hotmail.com>:
> > Como puedo insertar una foto en una tabla en postgres mediante comando:
> > CREATE TABLE esquema.documento
> > (
> >   numero_documento serial NOT NULL,
> >   fecha_documento date NOT NULL,
> >   nombre_cliente integer NOT NULL,
> >   foto_documento bytea NOT NULL,
> > );
> > Me pregunto si se insertara de esta manera:
> > insert into esquema.documento(fecha_documento, nombre_cliente,foto) values
> > ('2016-04-17','Juan Perez','c:\foto.jpg');
> 
> Desde luego, asi no. Tienes que leer en el cliente la foto de alguna
> manera y ponersela en alguna sintaxis que se entienda, hay varias en
> el manual. El como depende sobre todo de que aplicacion estes usando
> para manejarla (p.e., si estas usando psql tienes pocas alternativas
> aparte de ponerla como una constante ).
> 
> P.e. Un jpg cualquiera:
> 
> $ od -t x1 -tc  redacted_filename.JPG | head
> 000  ff  d8  ff  e0  00  10  4a  46  49  46  00  01  01  01  02  58
> 377 330 377 340  \0 020   J   F   I   F  \0 001 001 001 002   X
> 
> puede describirse como una constante bytea
> E'\\Xffd8ffe000104a464946000101010258...'
> 
> Dependiendo de tu entorno hay muchas formas de construirla, p.e.
> 
> $ head -c16 Documents/Boda\ y\ abuelos.JPG | perl -e "\$q=qq('); "'
> undef $/; print "E$qx",unpack("H*",scalar(<>)),"$q\n"'
> E'\\xffd8ffe000104a464946000101010258'
> 
> ( Parece mas de lo que es por lo dificil que es meter un script de
> perl que use ' y " y \ en la linea de comando del bash, probablemente
> en un archivo te quede solo:
> 
> #!/usr/bin/perl
> undef $/; # Slurp whole stdin in one go.
> print "E'x",unpack("H*",scalar(<>)),"'\n"'
> 
> > Y como se puede visualizar el registro con su imagen??
> 
> Pues como al reves, consigues el byte a y lo pasas a binario y se lo
> das a la rutina / programa.
> 
> > Alguien me puede ayudar??
> 
> Seguro, pero deberias empezar por decir mucho mas de lo que pones,
> como que lenguage/sistema operativo/entorno estas usando ( parece
> windows por el C:\, con lo que yo no mucho, pero hay mucho experto de
> windows suelto por aqui ) ( porque p.e. lo que te dije fallara casi
> seguro en windows por el tema del binmode aunque tuvieras perl y head
> ).
> 
> Un saludo.
>Francisco Olarte.
> 
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripci�n:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
  

Re: [pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla

2016-04-17 Por tema Francisco Olarte
Buenos dias:

2016-04-17 6:48 GMT+02:00 José Fermín Francisco Ferreras
:
> Como puedo insertar una foto en una tabla en postgres mediante comando:
> CREATE TABLE esquema.documento
> (
>   numero_documento serial NOT NULL,
>   fecha_documento date NOT NULL,
>   nombre_cliente integer NOT NULL,
>   foto_documento bytea NOT NULL,
> );
> Me pregunto si se insertara de esta manera:
> insert into esquema.documento(fecha_documento, nombre_cliente,foto) values
> ('2016-04-17','Juan Perez','c:\foto.jpg');

Desde luego, asi no. Tienes que leer en el cliente la foto de alguna
manera y ponersela en alguna sintaxis que se entienda, hay varias en
el manual. El como depende sobre todo de que aplicacion estes usando
para manejarla (p.e., si estas usando psql tienes pocas alternativas
aparte de ponerla como una constante ).

P.e. Un jpg cualquiera:

$ od -t x1 -tc  redacted_filename.JPG | head
000  ff  d8  ff  e0  00  10  4a  46  49  46  00  01  01  01  02  58
377 330 377 340  \0 020   J   F   I   F  \0 001 001 001 002   X

puede describirse como una constante bytea
E'\\Xffd8ffe000104a464946000101010258...'

Dependiendo de tu entorno hay muchas formas de construirla, p.e.

$ head -c16 Documents/Boda\ y\ abuelos.JPG | perl -e "\$q=qq('); "'
undef $/; print "E$qx",unpack("H*",scalar(<>)),"$q\n"'
E'\\xffd8ffe000104a464946000101010258'

( Parece mas de lo que es por lo dificil que es meter un script de
perl que use ' y " y \ en la linea de comando del bash, probablemente
en un archivo te quede solo:

#!/usr/bin/perl
undef $/; # Slurp whole stdin in one go.
print "E'x",unpack("H*",scalar(<>)),"'\n"'

> Y como se puede visualizar el registro con su imagen??

Pues como al reves, consigues el byte a y lo pasas a binario y se lo
das a la rutina / programa.

> Alguien me puede ayudar??

Seguro, pero deberias empezar por decir mucho mas de lo que pones,
como que lenguage/sistema operativo/entorno estas usando ( parece
windows por el C:\, con lo que yo no mucho, pero hay mucho experto de
windows suelto por aqui ) ( porque p.e. lo que te dije fallara casi
seguro en windows por el tema del binmode aunque tuvieras perl y head
).

Un saludo.
   Francisco Olarte.

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


[pgsql-es-ayuda] Insertar Foto en tabla y como visualizarla

2016-04-16 Por tema José Fermín Francisco Ferreras
Buenas noches!!
Como puedo insertar una foto en una tabla en postgres mediante comando:
CREATE TABLE esquema.documento(  numero_documento serial NOT NULL,  
fecha_documento date NOT NULL,  nombre_cliente integer NOT NULL,  
foto_documento bytea NOT NULL,);
Me pregunto si se insertara de esta manera:
insert into esquema.documento(fecha_documento, nombre_cliente,foto) values 
('2016-04-17','Juan Perez','c:\foto.jpg');
Y como se puede visualizar el registro con su imagen??
Alguien me puede ayudar??

ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom.