Search Results for

Show / Hide Table of Contents

# Class UploaderTagHelper

Renders the main CoreUpload uploader UI and initializes the client-side uploader instance. Use this Tag Helper for the full queue, progress, validation, chunking, and JavaScript API experience.

##### Inheritance

object
TagHelper
UploaderTagHelper

##### Implements

ITagHelper
ITagHelperComponent

##### Inherited Members

TagHelper.Init(TagHelperContext)
TagHelper.ProcessAsync(TagHelperContext, TagHelperOutput)
TagHelper.Order
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()

###### Namespace: CoreUpload.TagHelpers

###### Assembly: CoreUpload.dll

##### Syntax

    [HtmlTargetElement("core-upload")]
    public class UploaderTagHelper : TagHelper, ITagHelper, ITagHelperComponent

### Constructors

#### UploaderTagHelper(IOptions<CoreUploadOptions>, LicenseService)

##### Declaration

    public UploaderTagHelper(IOptions<CoreUploadOptions> options, LicenseService licenseService)

##### Parameters

Type | Name | Description
--- | --- | ---
IOptions<CoreUploadOptions> | options |
LicenseService | licenseService |

### Properties

#### Antiforgery

##### Declaration

    [HtmlAttributeName("asp-antiforgery")]
    public bool Antiforgery { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### AutoOrient

##### Declaration

    [HtmlAttributeName("asp-auto-orient")]
    public bool AutoOrient { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### AutoUpload

Gets or sets a value indicating whether files start uploading immediately after selection.

##### Declaration

    [HtmlAttributeName("asp-auto-upload")]
    public bool AutoUpload { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### BrowseButton

##### Declaration

    [HtmlAttributeName("asp-browse-button")]
    public string? BrowseButton { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### ButtonClass

##### Declaration

    [HtmlAttributeName("asp-button-class")]
    public string? ButtonClass { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### ButtonText

Gets or sets the label shown on the default browse button.

##### Declaration

    [HtmlAttributeName("asp-button-text")]
    public string ButtonText { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### ChunkConcurrency

Gets or sets the number of chunks/parts uploaded in parallel for multipart strategies (`chunked`, `s3`, `azure`).

##### Declaration

    [HtmlAttributeName("asp-chunk-concurrency")]
    public int? ChunkConcurrency { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### ChunkSize

##### Declaration

    [HtmlAttributeName("asp-chunk-size")]
    public int? ChunkSize { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### Chunked

Gets or sets a value indicating whether chunked uploads are enabled.

##### Declaration

    [HtmlAttributeName("asp-chunked")]
    public bool Chunked { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### ComputeHash

Gets or sets a value indicating whether a content hash is computed (in a Web Worker) for each file before upload.

##### Declaration

    [HtmlAttributeName("asp-compute-hash")]
    public bool ComputeHash { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### Concurrent

##### Declaration

    [HtmlAttributeName("asp-concurrent")]
    public int? Concurrent { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### Crop

##### Declaration

    [HtmlAttributeName("asp-crop")]
    public bool Crop { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### CropAspectRatio

##### Declaration

    [HtmlAttributeName("asp-crop-aspect-ratio")]
    public string? CropAspectRatio { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### CrossTab

Gets or sets a value indicating whether cross-tab upload coordination (via BroadcastChannel) is enabled.

##### Declaration

    [HtmlAttributeName("asp-cross-tab")]
    public bool CrossTab { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### CrossTabChannel

Gets or sets the BroadcastChannel name used for cross-tab coordination. Namespaces coordination per application.

##### Declaration

    [HtmlAttributeName("asp-cross-tab-channel")]
    public string? CrossTabChannel { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### DeleteUrl

##### Declaration

    [HtmlAttributeName("asp-delete-url")]
    public string? DeleteUrl { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### DetectDuplicates

##### Declaration

    [HtmlAttributeName("asp-detect-duplicates")]
    public bool DetectDuplicates { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### DirectorySelection

##### Declaration

    [HtmlAttributeName("asp-directory")]
    public bool DirectorySelection { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### DropOverlay

##### Declaration

    [HtmlAttributeName("asp-drop-overlay")]
    public bool DropOverlay { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### DropOverlayText

##### Declaration

    [HtmlAttributeName("asp-drop-overlay-text")]
    public string? DropOverlayText { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### DropTarget

##### Declaration

    [HtmlAttributeName("asp-drop-target")]
    public string? DropTarget { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### DropZone

##### Declaration

    [HtmlAttributeName("asp-drop-zone")]
    public bool DropZone { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### Extensions

Gets or sets the allowed file extensions for this uploader, using a comma-separated list.

##### Declaration

    [HtmlAttributeName("asp-extensions")]
    public string? Extensions { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### FolderDrop

##### Declaration

    [HtmlAttributeName("asp-folder-drop")]
    public bool FolderDrop { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### FullPageDrop

##### Declaration

    [HtmlAttributeName("asp-full-page-drop")]
    public bool FullPageDrop { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### Gallery

##### Declaration

    [HtmlAttributeName("asp-gallery")]
    public bool Gallery { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### HashAlgorithm

Gets or sets the hashing algorithm used when `asp-compute-hash` is enabled (`crc32` or `sha256`).

##### Declaration

    [HtmlAttributeName("asp-hash-algorithm")]
    public string? HashAlgorithm { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### HiddenInputId

##### Declaration

    [HtmlAttributeName("asp-hidden-input-id")]
    public string? HiddenInputId { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### Inline

##### Declaration

    [HtmlAttributeName("asp-inline")]
    public bool Inline { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### KeyboardNavigation

Gets or sets a value indicating whether deep keyboard navigation of the upload queue is enabled (roving tabindex, Arrow/Home/End focus movement, Delete/Enter row actions). Enabled by default.

##### Declaration

    [HtmlAttributeName("asp-keyboard-navigation")]
    public bool KeyboardNavigation { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### MaxCount

##### Declaration

    [HtmlAttributeName("asp-max-count")]
    public int? MaxCount { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### MaxFiles

Gets or sets the maximum number of files that can be selected.

##### Declaration

    [HtmlAttributeName("asp-max-files")]
    public int? MaxFiles { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### MaxHeight

##### Declaration

    [HtmlAttributeName("asp-max-height")]
    public int? MaxHeight { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### MaxSize

Gets or sets the maximum allowed file size for this uploader, expressed as bytes or strings such as `10MB` and `2GB`.

##### Declaration

    [HtmlAttributeName("asp-max-size")]
    public string? MaxSize { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### MaxWidth

##### Declaration

    [HtmlAttributeName("asp-max-width")]
    public int? MaxWidth { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### MetaFields

Gets or sets the per-file editable metadata fields as a JSON array (e.g. `[{"id":"caption","label":"Caption"},{"id":"category","required":true}]`). Each field renders an inline input on PENDING/FAILED queue rows; required fields block the file's upload until filled. Invalid JSON is ignored.

##### Declaration

    [HtmlAttributeName("asp-meta-fields")]
    public string? MetaFields { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### MimeTypes

Gets or sets the allowed MIME types for this uploader, using a comma-separated list.

##### Declaration

    [HtmlAttributeName("asp-mime-types")]
    public string? MimeTypes { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### MinHeight

##### Declaration

    [HtmlAttributeName("asp-min-height")]
    public int? MinHeight { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### MinSize

##### Declaration

    [HtmlAttributeName("asp-min-size")]
    public string? MinSize { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### MinWidth

##### Declaration

    [HtmlAttributeName("asp-min-width")]
    public int? MinWidth { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### Multiple

Gets or sets a value indicating whether multiple file selection is allowed.

##### Declaration

    [HtmlAttributeName("asp-multiple")]
    public bool Multiple { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### OnComplete

##### Declaration

    [HtmlAttributeName("asp-on-complete")]
    public string? OnComplete { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnError

##### Declaration

    [HtmlAttributeName("asp-on-error")]
    public string? OnError { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnProgress

##### Declaration

    [HtmlAttributeName("asp-on-progress")]
    public string? OnProgress { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnRenditionCreated

Gets or sets the JavaScript callback invoked when a rendition file is generated (receives `(renditionTask, originalTask)`).

##### Declaration

    [HtmlAttributeName("asp-on-rendition-created")]
    public string? OnRenditionCreated { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnSelect

##### Declaration

    [HtmlAttributeName("asp-on-select")]
    public string? OnSelect { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnTaskComplete

##### Declaration

    [HtmlAttributeName("asp-on-task-complete")]
    public string? OnTaskComplete { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### OnTaskError

##### Declaration

    [HtmlAttributeName("asp-on-task-error")]
    public string? OnTaskError { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### Paste

##### Declaration

    [HtmlAttributeName("asp-paste")]
    public bool Paste { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### PersistAdapter

Gets or sets the client-side state persistence adapter (`localStorage` or `indexeddb`) used for resumable uploads.

##### Declaration

    [HtmlAttributeName("asp-persist-adapter")]
    public string? PersistAdapter { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### PersistBlobs

Gets or sets a value indicating whether File blobs are persisted (requires `indexeddb` adapter) so uploads auto-resume after a reload without re-picking files.

##### Declaration

    [HtmlAttributeName("asp-persist-blobs")]
    public bool PersistBlobs { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### PersistKey

##### Declaration

    [HtmlAttributeName("asp-persist-key")]
    public string? PersistKey { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### PersistState

##### Declaration

    [HtmlAttributeName("asp-persist-state")]
    public bool PersistState { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### PreloadedFiles

##### Declaration

    [HtmlAttributeName("asp-preloaded-files")]
    public string? PreloadedFiles { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### PrioritizeFirstAndLastChunk

Gets or sets a value indicating whether chunk 0 and the final chunk upload before the middle chunks, letting the server validate the file's head/tail (magic bytes, archive directory) before most bytes are spent.

##### Declaration

    [HtmlAttributeName("asp-prioritize-first-last-chunk")]
    public bool PrioritizeFirstAndLastChunk { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### RemoteSources

Gets or sets the remote import sources to render in the uploader chrome, as a comma-separated list (e.g. `googledrive,dropbox,onedrive`).

##### Declaration

    [HtmlAttributeName("asp-remote-sources")]
    public string? RemoteSources { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### Renditions

Gets or sets the scaled renditions generated client-side alongside each image upload, as a JSON array (e.g. `[{"name":"thumb","maxSize":200},{"name":"medium","maxWidth":1024,"format":"image/webp","quality":0.8}]`). Each rendition uploads as its own file linked to the original via `renditionOf`. Invalid JSON is ignored.

##### Declaration

    [HtmlAttributeName("asp-renditions")]
    public string? Renditions { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### ResizeFormat

##### Declaration

    [HtmlAttributeName("asp-resize-format")]
    public string? ResizeFormat { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### ResizeMaxHeight

##### Declaration

    [HtmlAttributeName("asp-resize-max-height")]
    public int? ResizeMaxHeight { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### ResizeMaxWidth

##### Declaration

    [HtmlAttributeName("asp-resize-max-width")]
    public int? ResizeMaxWidth { get; set; }

##### Property Value

Type | Description
--- | ---
int? |

#### ResizeQuality

##### Declaration

    [HtmlAttributeName("asp-resize-quality")]
    public double? ResizeQuality { get; set; }

##### Property Value

Type | Description
--- | ---
double? |

#### ShowProgress

##### Declaration

    [HtmlAttributeName("asp-progress")]
    public bool ShowProgress { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### ShowQueue

##### Declaration

    [HtmlAttributeName("asp-queue")]
    public bool ShowQueue { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### ShowThumbnails

##### Declaration

    [HtmlAttributeName("asp-thumbnails")]
    public bool ShowThumbnails { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### Sortable

##### Declaration

    [HtmlAttributeName("asp-sortable")]
    public bool Sortable { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

#### Strategy

Gets or sets the upload strategy: `auto`, `single`, `chunked`, `s3`, `azure`, `gcs`, `tus`, or `urlImport`.

##### Declaration

    [HtmlAttributeName("asp-strategy")]
    public string? Strategy { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### TusEndpoint

Gets or sets the tus endpoint URL. Defaults to `{uploadUrl base}/tus` when the `tus` strategy is used.

##### Declaration

    [HtmlAttributeName("asp-tus-endpoint")]
    public string? TusEndpoint { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### UploadButtonText

Gets or sets the label shown on the manual upload (submit) button that appears when `asp-auto-upload="false"`.

##### Declaration

    [HtmlAttributeName("asp-upload-button-text")]
    public string UploadButtonText { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### UploadUrl

##### Declaration

    [HtmlAttributeName("asp-upload-url")]
    public string? UploadUrl { get; set; }

##### Property Value

Type | Description
--- | ---
string |

#### WithCredentials

##### Declaration

    [HtmlAttributeName("asp-with-credentials")]
    public bool WithCredentials { get; set; }

##### Property Value

Type | Description
--- | ---
bool |

### Methods

#### Process(TagHelperContext, TagHelperOutput)

Generates the uploader markup and startup script for the current page.

##### Declaration

    public override void Process(TagHelperContext context, TagHelperOutput output)

##### Parameters

Type | Name | Description
--- | --- | ---
TagHelperContext | context |
TagHelperOutput | output |

##### Overrides

TagHelper.Process(TagHelperContext, TagHelperOutput)

### Implements

ITagHelper
ITagHelperComponent