.. _ws_binary_access: 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////[?] Dove *sid* è la *session id* riportata dalla chiamata JSON-RPC :ref:`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//// 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///... 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 opportunamente predisposto nella forma:: Authorization: Bearer .. note:: 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.