[Gfoss] immagini in postgresql

L’argomento non è molto Geographic, ma è FOSS :wink:

Qualcuno ha avuto esperienza e/o indicazioni su come importare immagini in un db postgresql/postgis?
Ho cercato in rete, ma non sono riuscito a districarmi tra formati bytea, blob,…

Grazie per qualsiasi aiuto.

flavio


io uso GNU/Linux
user #413018 counter.li.org

blob con i Large Object... okkio a trasferire o dumpare il DB perche' i loid sono assoluti! insomma pgdump non basta! o almeno non bastava!

-strk stava lavorando su un formato di archiviazione di blog piu' "flessibile", ne fece una presentazione a losanna... ma non conosco lo stato di sviluppo! sicuramente era una buona idea :slight_smile:

il web che dice?

ciao ginetto

Flavio Rigolon ha scritto:

L'argomento non è molto Geographic, ma è FOSS :wink:

Qualcuno ha avuto esperienza e/o indicazioni su come *importare* immagini in un db postgresql/postgis?
Ho cercato in rete, ma non sono riuscito a districarmi tra formati *bytea*, *blob*,.....

Grazie per qualsiasi aiuto.

flavio

----------------------------------------------------------------------
ATTENZIONE: le informazioni contenute in questo messaggio sono da considerarsi confidenziali ed il loro utilizzo e' riservato unicamente al destinatario sopra indicato. Chi dovesse ricevere questo messaggio per errore e' tenuto ad informare il mittente ed a rimuoverlo definitivamente da ogni supporto elettronico o cartaceo.

WARNING: This message contains confidential and/or proprietary information which may be subject to privilege or immunity and which is intended for use of its addressee only. Should you receive this message in error, you are kindly requested to inform the sender and to definitively remove it from any paper or electronic format.
----------------------------------------------------------------------

Grazie per l’indicazione.

Per ora ho provato così:

CREATE TABLE tbl_foto (
id integer NOT NULL,
nome text,
foto oid);

poi ho popolato la tabella con i record che avevo; quindi inserito le immagini

UPDATE tbl_foto SET
foto=lo_import(‘/percorso/al/file.png’)
where id = ‘tot’;

mi pare funzioni, ma se ci sono altri chiarimenti sono ben accetti.

flavio

io uso GNU/Linux
user #413018 counter.li.org

Il 03/05/07, Flavio Rigolon <flavio.rigolon@gmail.com> ha scritto:

Grazie per l’indicazione.

Per ora ho provato così:

CREATE TABLE tbl_foto (
id integer NOT NULL,
nome text,
foto oid);

poi ho popolato la tabella con i record che avevo; quindi inserito le immagini

UPDATE tbl_foto SET
foto=lo_import(‘/percorso/al/file.png’)
where id = ‘tot’;

mi pare funzioni, ma se ci sono altri chiarimenti sono ben accetti.

Ciao a tutti.
Riprendo un thread che ho avviato qualche giorno fa.
Sto cercando di visualizzare (mediate PHP) i dati archiviati in un DB Postgresql/Postgis attraverso il browser web; tra i dati vi sono anche immagini.
Ho agito in questo modo:

  1. creazione della tabella di archiviazione immagini:
    CREATE TABLE foto(
    id integer NOT NULL,
    nome varchar(50),
    image_path varchar(100));

  2. popolamento della tabella creata e inserimento dei path delle immagini (non ho più usato il formato dati OID ma ho salvato il percorso al file immagine da caricare; in questo modo non ci dovrebbero più essere problemi durante il dump come indicato gentilmente da Luigi). Utilissimo e, a mio modesto parere, molto ben fatto il lavoro di tesi di Fabio Pratesi consigliato da Massimo!

INSERT INTO foto
VALUES(‘1’,‘foto1’,‘percorso/al/file.png’);

e così via…

  1. Creazione dello script PHP (image.php, riportato qui sotto) per il caricamento dei dati su una pagina HTML.

Image

Elenco Immagini

Elenco

<?php //dihiarazione variabile $i per colori $i=1; //fine dihiarazione variabile $1 per colori // Connessione, selezione del database $dbconn = pg_connect("host=localhost dbname=db_name user=utente password=******") or die('Could not connect: ' . pg_last_error()); // Strutturazione della query e formattazione della tabella che conterrà i risultati if(!$query = pg_query("SELECT id,nome,image_path FROM foto")) die("Errore nella query: " . pg_last_error($dbconn)); echo <<<EOD EOD; while ($row = pg_fetch_assoc($query)) { //dichiarazione condizione per la colorazione alternata dei record if($i%2==1)$color="#f3f3e9"; //primo colore else $color="#e6e6cc"; //secondo colore //fine dichiarazione per colori //dichiarazione incrementale per colorazione alternata dei record $i++; echo "\n\t\n\t\t\n\t\t\n\t\t"; echo "\n\t"; } echo <<<EOD
ID NOME PERCORSO
{$row['id']}{$row['nome']}
EOD; // Chiusura della connessione pg_close($dbconn); ?> ***************************************************************************************
  1. Puntando il browser sul file image.php sopra riportato ottengo i dati e le foto visualizzate.

…non so se può essere argomento da wiki; se ritenete (con le opportune correzioni che magari evidenzierete) lo metto ben volentieri.

a presto
flavio


io uso GNU/Linux
user #413018 counter.li.org