Accesso diretto alle immagini e agli allegati

E” possibile accedere direttamente a immagini e allegati di un database usando un approccio REST, ossia tramite un url opportunamente formattato.

Accesso con session id

Per accedere alle immagini:

/binary/<sid>/<tablename>/<id>/<type>[?<name>]

Dove sid è la session id riportata dalla chiamata JSON-RPC open_database, tablename è il nome della tabella da cui si vuole estrarre un’immagine (ad esempio EB_Articoli), id è il valore della chiave primaria del record per cui estrarre l’immagine, e type identifica quale tipo di immagine ottenere (può assumere i valori thumbnail per la miniatura, normal per l’immagine intera, web per quella web o image per le immagini aggiuntive; se non specificato, è assunto il tipo web). Se type è image, name sarà il nome dell’immagine che si vuole ottenere, specificato come la parte query string url-encoded dell’url.

Per accedere agli allegati:

/binary/<sid>/<tablename>/<id>/<filename>

Dove i parametri sono gli stessi di prima, con la sola eccezione che type è sostituito dal nome del file allegato che si vuole ottenere. Per una lista di nomi file disponibili per un dato record, si può usare la chiamata JSON-RPC list_binaries.

Accesso con token di autenticazione

E” possibile fare a meno della session id ed accedere alle immagini e agli allegati direttamente con un url del tipo:

/binary/<tablename>/<id>/...

Per usare questa modalità però è necessario essere in possesso di un token di accesso web precedentemente creato dalla configurazione del database in Konga, alla voce Token accesso web. Questo token va usato in un header HTTP apportunamente predisposto nella forma:

Authorization: Bearer <token>

Nota

Per ragioni di sicurezza l’accesso tramite web token funziona solo se i webservice sono stati attivati in modalità SSL.

Scrittura e cancellazione

Per accedere alle risorse in modalità di lettura è sufficiente accedere agli url opportunamente formattati tramite metodo HTTP GET. Qualora si voglia registrare o cancellare un allegato, andranno usati i metodi PUT e DELETE. Tenere presente che se si usa il metodo PUT, è possibile (e consigliabile) passare una serie di parametri aggiuntivi nella query string abbinata all’url:

  • original_filename: nome file original_filename

  • code_azienda: codice dell’azienda a cui abbinare la nuova risorsa; se non specificato la risorsa sarà comune a tutte le aziende

  • description: eventuale descrizione della risorsa

Il metodo PUT inoltre ritorna il nome file interno assegnato alla risorsa; se non esplicitamente passato come parametro dell’url, questo nome verrà generato automaticamente dal server, e nel caso di documenti allegati, dovrà essere usato per fare riferimento al documento per gli accessi seguenti.