Insertar imagenes

Solo disponible en BuenasTareas
  • Páginas : 2 (301 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de mayo de 2011
Leer documento completo
Vista previa del texto
encontre una "solucion" para insertar imagenes y archivos en general en postgresql 8.0. es necesario que el campo de la tabla sea de tipo "OID".

para esto utilizo una funcion propia depostgresql q se llama lo_import esta funcion me permite insertar archivos en la tabla. lo_export esta funcion me peremite extraer el archivo al path que yo le indiq.

ejemplo
para insertar seriainsert into imagenes values ('mi auto', lo_import('/share/Fotos/carro-luis1.jpg'));

para seleccionar de la tabla seria

select lo_export(imagenes.contenido,'/share/Fotos/carro_nueva_foto.jpg') from imagenes where nombre_de_la_imagen = 'mi auto';

Manejo de Imágenes con PostgreSQL y PHP
por Ugo Albarello

Importando Imágenes a PostgreSQL
Tenemos una tabla de fulanos, quetambién almacena la foto del parroquiano. La creación de la tabla sería algo como:
CREATE TABLE clientes (
cli_codigo serial NOT NULL,cli_nombre character varying(60) NOT NULL,
cli_foto oid NOT NULL
);
Ahora continuamos con la importación de los blobs (Binary Large Objects, es decir, la foto,pero para el motor es solo un stream de bytes) a la base de datos. El contenido del archivo que se importa es llevado por el motor a la tabla del sistema pg_largeobject, la cual tiene un campoloid del tipo oid. Es por eso que el tipo de dato para cli_foto es oid.
La importación la vamos a hacer desde el shell de psql, usando \lo_import:
pruebagd=> \lo_import'homer.jpg'
lo_import 30138
El número 30138 que muestra como respuesta a \lo_import es el oid que identifica el BLOB que acabamos de importar, y es el que se debe utilizar como valor delcampo cli_foto en el registro de la tabla clientes. Procedemos entonces a hacer el registro:
INSERT INTO clientes (cli_nombre, cli_foto) VALUES ('Homer J. Simpson', 30138);...
tracking img