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
> 0000000  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$q\\\\x",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
                                          

Responder a