Gemma.WebApi

<back to all web services

UploadFileToDocumentoRequest

Files
Requires Authentication
Required role:ApiUser
The following routes are available for this service:
POST/documenti/{DocumentoId}/filesCarica un nuovo file associandolo a un'entità Documento.### Modalità di Upload supportate: 1. **Multipart/Form-Data (Raccomandato)**: Inviare il file binario nel corpo della richiesta (standard HTML form upload). In questa modalità, il campo `Nome` è opzionale: se omesso verrà usato il nome originale del file. 2. **JSON (Base64)**: Inviare un oggetto JSON contenente il campo `Base64Content`. Utile per integrazioni programmatiche dove il multipart non è agevole. **Logica Cartelle**: L'ID della cartella radice viene recuperato dal campo FileId dell'entità Documento. Se non esiste, viene creata implicitamente.
UploadFileToDocumentoRequest Parameters:
NameParameterData TypeRequiredDescription
DocumentoIdpathintegerYesID univoco del Documento di destinazione (usato per trovare o creare la cartella radice).
UploadFileRequestBase Parameters:
NameParameterData TypeRequiredDescription
NomeformstringNoNome desiderato del file. Se omesso, viene utilizzato il nome originale del file caricato.
ConflictActionformFileConflictActionYesAzione da intraprendere se un file con lo stesso nome esiste già nella cartella. Valori possibili: **0 (Error)**, **1 (Rename)**, **2 (Overwrite)**. Consultare i dettagli di ciascun valore per la logica completa.
Base64ContentformstringNoContenuto del file codificato in Base64. **OPZIONE IBRIDA**: Usare questo campo se la richiesta è di tipo 'application/json'.
FileConflictAction Enum:
Error
Rename
Overwrite
CreateFileResponse Parameters:
NameParameterData TypeRequiredDescription
FileIdformlongNo
FinalFileNameformstringNo
IsUpdateformboolNo
ResponseStatusformResponseStatusNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /documenti/{DocumentoId}/files HTTP/1.1 
Host: gemma.api.kerberos.energy 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"documentoId":0,"nome":"String","conflictAction":"Error","base64Content":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"fileId":0,"finalFileName":"String","isUpdate":false,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}