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.
Real screenshots from the 101 demos shipped with AjaxUploader 5.0.
Core capabilities
One server control with pluggable transport, production-grade resume, and a client-side editor. Built so you can ship without writing XHR glue yourself.
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.
Strategy
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.
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.
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.
Rotate ±90°, flip, and interactive crop with 8 drag handles — optional aspect-ratio lock. Pair with client-side resize and compression before upload.
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.
Styled drop zones, full-page drop overlay, folder traversal, and clipboard paste. A single API handles all input sources.
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.
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
<%@ 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
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
Set Strategy="s3" for direct-to-S3 multipart, "tus" for Uppy/tusd interop, or "azure" for Azure Blob — same control, same events.
Strategy="s3"
"tus"
"azure"
What's new in v5
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.
single
chunked
s3
azure
tus
urlImport
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
The package includes Web Forms binaries, 101 working demos, class reference documentation, deployment notes, and upgrade guidance for older 4.x projects.
Runtime
JS and CSS are embedded in AjaxUploader.dll and served through ajaxupload.axd. No NuGet restore for the client.
AjaxUploader.dll
ajaxupload.axd
Demos
Open a ready-to-run sample project instead of reconstructing features from isolated code snippets.
Compatibility
Keep older CuteWebUI pages compiling while moving toward native v5 controls at your own pace.
Licensing
Localhost bypasses license detection. Install ajaxuploader5.lic for production.
ajaxuploader5.lic
Uploader family
All three products ship from one canonical JavaScript source with a shared wire protocol — pick the server flavor for your application.
This site
ASP.NET Web Forms server control with Visual Studio integration and 4.x compatibility shim.
ASP.NET Core
Minimal-API endpoints, Tag Helper, and Razor components for .NET 8 and newer.
Standalone JS
Zero-dependency npm package for any backend — React, Vue, PHP, Node, Python, static sites.
Classic ASP / PHP
ASPUploader and PHP File Uploader for long-lived applications on older stacks.