Gemma.WebApi

<back to all web services

UploadFileToImpiantoRequest

Files
Requires Authentication
Required role:ApiUser
The following routes are available for this service:
POST/impianti/{ImpiantoId}/filesCarica un nuovo file associandolo a un'entità Impianto.### Modalità di Upload supportate: 1. **Multipart/Form-Data (Raccomandato)**: Caricamento standard di file binari. Il campo `Nome` è opzionale; se non specificato, verrà mantenuto il nome originale del file. 2. **JSON (Base64)**: Caricamento tramite stringa codificata nel campo `Base64Content`. Utile per client che preferiscono inviare payload JSON puri. **Gestione Cartelle**: Il sistema individua automaticamente la cartella di destinazione tramite il `FileId` dell'Impianto. Se l'Impianto non ha ancora una cartella associata, questa verrà creata automaticamente.
UploadFileToImpiantoRequest Parameters:
NameParameterData TypeRequiredDescription
ImpiantoIdpathintegerYesID univoco dell'Impianto 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 .csv suffix or ?format=csv

HTTP + CSV

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

POST /impianti/{ImpiantoId}/files HTTP/1.1 
Host: gemma.api.kerberos.energy 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"impiantoId":0,"nome":"String","conflictAction":"Error","base64Content":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}