> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/it/app/components/inputs/upload.md).

# Caricamento

Il componente UDUpload viene utilizzato per caricare file nelle Universal Apps. È possibile elaborare i file caricati dall'utente. Riceverà i dati del file, un nome file e il tipo di file se può essere determinato dal browser web.

Questo componente funziona con [UDForm](/powershell-universal/it/app/components/inputs/form.md) e [UDStepper](/powershell-universal/it/app/components/navigation/stepper.md).

## Caricamento di un file

{% hint style="warning" %}
Upload supporta solo file fino a 2 GB di dimensione.
{% endhint %}

Carica un file e ne mostra il contenuto tramite un toast.

```powershell
New-UDUpload -OnUpload {
    Show-UDToast $Body
} -Text 'Upload'
```

Il corpo del blocco di script `OnUpload` è una stringa JSON con il formato seguente.

```javascript
{
  data: "base64 encoded string of data",
  name: "file name of the file uploaded",
  type: "file type as determined by the browser"
}
```

`$EventData` è un oggetto con la struttura seguente.

```csharp
public class Upload
{
    public string Name { get; set; }
    public string FileName { get; set; }
    public DateTime TimeStamp { get; set; }
    public string ContentType { get; set; }
    public string Type => ContentType;
}
```

## Caricamento di un file con un form

Carica un file come parte di un UDForm.

```powershell
New-UDForm -Content {
    New-UDUpload -Id 'myFile' -Text 'Upload File'
} -OnSubmit {
    Show-UDToast $Body 
}
```

Il corpo del blocco di script `OnSubmit` è lo stesso che vedrà con qualsiasi form e il file sarà contenuto come uno dei campi all'interno del form.

## Esempio: caricamento di un file e salvataggio nella directory temporanea

Questo esempio consente a un utente di caricare un file. Una volta caricato, il file verrà salvato nella directory temporanea.

```powershell
New-UDUpload -Text 'Upload Image' -OnUpload {
    $Data = $Body | ConvertFrom-Json 
    $bytes = [System.Convert]::FromBase64String($Data.Data)
    [System.IO.File]::WriteAllBytes("$env:temp\$($Data.Name)", $bytes)
}
```

## API

[**New-UDUpload**](/powershell-universal/it/comandi-powershell/new-udupload.md)


---

# 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.devolutions.net/powershell-universal/it/app/components/inputs/upload.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.
