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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<UploadFileToImpiantoRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Gemma.WebApi.ServiceModel.Requests">
  <Base64Content>String</Base64Content>
  <ConflictAction>Error</ConflictAction>
  <Nome>String</Nome>
  <ImpiantoId>0</ImpiantoId>
</UploadFileToImpiantoRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateFileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Gemma.WebApi.ServiceModel.Responses">
  <FileId>0</FileId>
  <FinalFileName>String</FinalFileName>
  <IsUpdate>false</IsUpdate>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</CreateFileResponse>