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