> 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/powershell-commands/new-udupload.md).

# New-UDUpload

New-UDUpload adds a file upload control to PowerShell Universal, working alongside New-UDForm and New-UDStepper components.

### Synopsis

Upload files

### Syntax

```powershell
New-UDUpload [[-Id] <String>] [[-Accept] <String>] [[-OnUpload] <Endpoint>] [[-Text] <String>] [[-Variant] <String>] [[-Color] <String>] [[-ClassName] <String>] [-HideUploadedFileName] [-ShowLoading] [[-LoadingIndicator] <Object>] [[-LoadingPosition] <String>] [[-Icon] <Object>] [[-IconAlignment] <String>] [<CommonParameters>]
```

### Description

Upload files. This component works with UDForm and UDStepper.

### Parameters

#### -Id

The ID of the uploader.

```
Required?                    false
Position?                    1
Default value                [Guid]::NewGuid()
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -Accept

The type of files to accept. By default, this component accepts all files.

```
Required?                    false
Position?                    2
Default value                *
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -OnUpload

A script block to execute when a file is uploaded. This $body parameter will contain JSON in the following format:

{ data: 'base64 encoded string of file data', name: 'filename', type: 'type of file, if known' }

$EventData will contain a class with the following properties:

public string Name { get; set; } public string FileName { get; set; } public DateTime TimeStamp { get; set; } public string ContentType { get; set; } public string Type => ContentType;

```
Required?                    false
Position?                    3
Default value
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -Text

The text to display on the upload button.

```
Required?                    false
Position?                    4
Default value                Upload
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -Variant

The variant of button. Defaults to contained. Valid values: "text", "outlined", "contained"

```
Required?                    false
Position?                    5
Default value                contained
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -Color

The color of the button. Defaults to 'default'. Valid values: "default", "primary", "secondary", "inherit"

```
Required?                    false
Position?                    6
Default value                primary
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -ClassName

A CSS class to apply to the button.

```
Required?                    false
Position?                    7
Default value
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -HideUploadedFileName

Hides the file name text that is shown after upload

```
Required?                    false
Position?                    named
Default value                False
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -ShowLoading

Displays a loading spinner while the OnClick event handler is running.

```
Required?                    false
Position?                    named
Default value                False
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -LoadingIndicator

A custom element to display instead of the built in spinner for -ShowLoading

```
Required?                    false
Position?                    8
Default value
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -LoadingPosition

The position of the loading indicator. Valid values are: 'start', 'end', 'center'

```
Required?                    false
Position?                    9
Default value                center
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -Icon

The icon to show instead of the default icon. Use New-UDIcon to create an icon.

```
Required?                    false
Position?                    10
Default value
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### -IconAlignment

How to align the icon within the button. Valid values are: "left", "right"

```
Required?                    false
Position?                    11
Default value                left
Accept pipeline input?       false
Aliases
Accept wildcard characters?  false
```

#### Common parameters

This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see [about\_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).

### Outputs

### Examples

#### Example 1: Basic Upload

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

A basic upload component that shows a toast when a file is uploaded.

#### Example 2: Hide File Name

```powershell
New-UDUpload -Text "Upload" -OnUpload {
    Show-UDToast $Body
} -Id 'upload2' -HideUploadedFileName
```

Hides the file name text that is shown after upload.

#### Example 3: Icon

```powershell
New-UDUpload -Text "Upload" -OnUpload {
    Show-UDToast $Body
} -Id 'upload3' -Icon (New-UDIcon -Icon 'Upload')
```

Upload component with an icon instead of the default icon.

#### Example 4: Icon Alignment

```powershell
New-UDUpload -Text "Upload" -OnUpload {
    Show-UDToast $Body
} -Id 'upload4' -IconAlignment 'right' -Icon (New-UDIcon -Icon 'Upload')
```

Upload component with an icon on the right side of the button.

#### Example 5: Variant

```powershell
New-UDUpload -Text "Upload" -OnUpload {
    Show-UDToast $Body
} -Id 'upload5' -Variant 'text'
```

Upload component with a text variant.

#### Example 6: Accept

```powershell
New-UDUpload -Text "Upload" -OnUpload {
    Show-UDToast $Body
} -Id 'upload6' -Accept ".jpg"
```

Upload component that only accepts .jpg files.


---

# 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/powershell-commands/new-udupload.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.
