v5.0 · For ASP.NET Web Forms On ASP.NET Core? Use CoreUpload

Modern file uploads,
built for production.

AjaxUploader is a drop-in server control for ASP.NET Web Forms. Drag-and-drop, multi-file queues, chunked transfer with parallel chunks and Web Worker hashing, direct-to-S3/Azure multipart, tus 1.0 interop, and IndexedDB-backed resume — all configurable from your .aspx page.

Explore 101 Demos Download Package
15,000+
Licensed teams worldwide
20+
Years in production
101
Ready-to-run demos included
Drop zone
AjaxUploader drag and drop demo
Custom queue
AjaxUploader custom queue demo

Real screenshots from the 101 demos shipped with AjaxUploader 5.0.

Core capabilities

An upload toolkit, not a file input replacement.

One server control with pluggable transport, production-grade resume, and a client-side editor. Built so you can ship without writing XHR glue yourself.

Pluggable strategies

Single POST, server-side chunked, direct-to-S3 multipart, Azure Blob, tus 1.0, and server URL import — all via one Strategy property. Swap transports without rewriting your upload flow.

Direct-to-cloud multipart

Browser uploads straight to S3 (AWS/MinIO/B2/R2) or Azure Blob via your server's presigned URLs. Your server never sees the bytes — just signs.

IndexedDB-backed resume

Uploads survive tab crashes and page reloads. Per-chunk offsets, S3 part ETags, and tus session URLs persist locally; the resumed task continues from where it stopped instead of re-uploading.

Parallel chunks + Web Worker hashing

Configurable chunk concurrency keeps the pipe full. SHA-256 and CRC32 run off the main thread so the UI stays responsive even on multi-gigabyte files.

Inline image editor

Rotate ±90°, flip, and interactive crop with 8 drag handles — optional aspect-ratio lock. Pair with client-side resize and compression before upload.

Server-side URL import

Paste a URL; the server fetches it and streams through your provider — with NDJSON progress events so the UI gets live feedback during the fetch.

Drag-and-drop + folder drop

Styled drop zones, full-page drop overlay, folder traversal, and clipboard paste. A single API handles all input sources.

Multi-layer validation

Extensions, MIME types (including magic-byte sniffing), file sizes, image dimensions, duplicate detection, and custom rules — enforced client-side before bytes leave, and re-checked server-side on arrival.

Smooth progress + ETA

Sliding-window speed average, per-file and overall progress, configurable retry-with-backoff, pause/resume/cancel per task, and a rich event model for custom UIs.

Quick start

Drop the server control onto a page

<%@ Register Assembly="AjaxUploader" Namespace="AjaxUploader.Controls" TagPrefix="au" %>

<au:AjaxFileUpload ID="Uploader1" runat="server"
    AllowMultiple="true"
    AllowedExtensions=".jpg,.png,.gif,.pdf,.docx"
    MaxFileSize="500MB"
    AutoUpload="true"
    EnableDropZone="true"
    Strategy="chunked"
    ChunkConcurrency="4"
    PersistState="true"
    PersistAdapter="indexeddb" />

Evaluate locally

No license key needed for development.

Download the package, open in Visual Studio, and start testing immediately. All 101 demos run on localhost without a license. You only need a license file when you deploy to a production domain.

Switch strategies at runtime

Single API, six transports.

Set Strategy="s3" for direct-to-S3 multipart, "tus" for Uppy/tusd interop, or "azure" for Azure Blob — same control, same events.

What's new in v5

A pluggable core, shared across three products.

Version 5 is a full-family rewrite. AjaxUploader, CoreUpload (ASP.NET Core), and MultipleUpload (standalone JS) all ship from a single canonical JS source — the same strategies, resume, editor, and hashing code, branded per product. Server controls are thin shells over a shared wire protocol.

Strategies

six built-in: single, chunked, s3, azure, tus, urlImport. Register your own.

Resume

IndexedDB persistence plus auto-rehydrate. All resumable strategies (chunked, s3, tus) continue mid-upload after reload.

Image editor

Rotate, flip, interactive crop (8 handles, aspect lock). Layered on the existing resize / compress / watermark pipeline.

Web Workers

SHA-256 and CRC32 run off-thread. Gigabyte hashing no longer blocks the UI, with a CSP-safe main-thread fallback.

NDJSON streaming

URL import emits live progress events (SSE-style). Client parses newline-delimited JSON from a streaming fetch.

4.x compat

CuteWebUI namespace shims let legacy pages compile unchanged. Migrate at your own pace.

Download package

Everything to evaluate, deploy, or upgrade.

The package includes Web Forms binaries, 101 working demos, class reference documentation, deployment notes, and upgrade guidance for older 4.x projects.

Runtime

Embedded assets

JS and CSS are embedded in AjaxUploader.dll and served through ajaxupload.axd. No NuGet restore for the client.

Demos

101 working demos

Open a ready-to-run sample project instead of reconstructing features from isolated code snippets.

Compatibility

4.x migration

Keep older CuteWebUI pages compiling while moving toward native v5 controls at your own pace.

Licensing

Friction-free dev

Localhost bypasses license detection. Install ajaxuploader5.lic for production.

Uploader family

Same core, every stack.

All three products ship from one canonical JavaScript source with a shared wire protocol — pick the server flavor for your application.