> For the complete documentation index, see [llms.txt](https://docs.opencityitalia.it/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.opencityitalia.it/stanza-del-cittadino/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/i-componenti/inserire-allegati-il-file-sdc.md).

# Inserire allegati: il File SDC

Per chiedere all'utente l'inserimento di uno o più allegati, trascina nel modulo il componente "File Sdc".

<figure><img src="/files/KwCe6GyW1b8VcDatmhYr" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Attualmente i tipi di allegato permessi sono: doc, docx, odt, pdf, xls, xlsx, ods, ppt, pptx, odp, csv, xml, rtf, abw, txt, jpeg, jpg, png, apng, webp, ico, gif, p7, p7m, xp7m, p7c, zip.

Di questi formati viene controllata sia l'estensione sia il MIME type.
{% endhint %}

Nella sezione "Display" in "Description" aggiungi un testo che aiuti l'utente a capire che cosa può caricare, come ad esempio:\
\&#xNAN;**`Attenzione`**`: puoi caricare solo file jpeg, jpg, png, pdf e p7m`\
` La dimensione massima è di`` `` `**`30 MB`**

Nella sezione "File" del componente, puoi:

* richiedere la protocollazione dell'allegato (1);
* indicare il formato (2);\
  Puoi inserire la tipologia di file ammessi, ad esempio:\
  `**.jpeg,.jpg,.png,.pdf,.p7m`
* indicare le dimensioni previste (3).

## Formati non supportati e alternative

Alcuni formati di uso comune non rientrano tra quelli supportati. In questi casi, chiedi al cittadino di raccogliere i file in un archivio **.zip** prima di allegarlo.

Un esempio frequente sono i **file shapefile** (`.shp`, `.shx`, `.dbf` e file correlati): non sono supportati singolarmente, ma possono essere caricati senza problemi se compressi in un archivio `.zip`.

{% hint style="info" %}
Se ricevi segnalazioni di errore su un formato specifico, verifica che rientri nell'elenco dei formati supportati. In caso contrario, il workaround consigliato è sempre la compressione in `.zip`.
{% endhint %}

## Come funziona l'upload?

Quando un utente carica un file, il componente compie tre passi in sequenza:

{% stepper %}
{% step %}

### 1. Registra il file

Il componente comunica al server il nome e il tipo del file e riceve successivamente un identificativo univoco.
{% endstep %}

{% step %}

### 2. Invia il contenuto

Il componente trasmette il file vero e proprio.
{% endstep %}

{% step %}

### 3. Conferma il caricamento

Il componente segnala al server che il file è arrivato correttamente.
{% endstep %}
{% endstepper %}

### Lingua automatica nelle chiamate al server

Il componente rileva automaticamente la lingua attiva del modulo e successivamente utilizza la nelle chiamate API. Ad esempio, se il modulo è in tedesco, le chiamate useranno `/de/upload` invece di `/it/upload`.

La lingua viene scelta in questo ordine:

1. La lingua impostata nel form.
2. La lingua definita nelle opzioni di avvio del form.
3. La lingua dichiarata nella pagina HTML.
4. L'italiano (`it`) come valore di riserva.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.opencityitalia.it/stanza-del-cittadino/guida-alla-creazione-dei-servizi-digitali/creare-un-servizio/i-componenti/inserire-allegati-il-file-sdc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
