AjaxUploader.WebForms 5.3.10

dotnet add package AjaxUploader.WebForms --version 5.3.10
                    
NuGet\Install-Package AjaxUploader.WebForms -Version 5.3.10
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AjaxUploader.WebForms" Version="5.3.10" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AjaxUploader.WebForms" Version="5.3.10" />
                    
Directory.Packages.props
<PackageReference Include="AjaxUploader.WebForms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AjaxUploader.WebForms --version 5.3.10
                    
#r "nuget: AjaxUploader.WebForms, 5.3.10"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AjaxUploader.WebForms@5.3.10
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AjaxUploader.WebForms&version=5.3.10
                    
Install as a Cake Addin
#tool nuget:?package=AjaxUploader.WebForms&version=5.3.10
                    
Install as a Cake Tool

AjaxUploader

File upload control for ASP.NET Web Forms (.NET Framework 4.8): multiple files, drag and drop, chunked and resumable transfers, direct-to-cloud, folder uploads, an image pipeline, and 30 locales.

Upgrading from 4.x? Your existing code keeps working — see Upgrading.

Install

Install-Package AjaxUploader.WebForms

Then register the handler in web.config:

<system.webServer>
  <handlers>
    <add name="AjaxUploader" path="ajaxupload.axd" verb="*"
         type="AjaxUploader.AjaxUploaderHandler, AjaxUploader"
         preCondition="integratedMode" />
  </handlers>
</system.webServer>

Basic use

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

<au:AjaxFileUpload runat="server" ID="Uploader1"
                   MultipleFiles="true"
                   OnFileUploaded="Uploader1_FileUploaded" />
protected void Uploader1_FileUploaded(object sender, FileUploadedEventArgs e)
{
    // Uploads are TEMPORARY until you save them.
    e.CopyTo(Server.MapPath("~/uploads/") + e.FileName);
}

FileUploaded fires on the postback, not during the transfer. The control posts back automatically when the batch finishes; if you disable AutoPostBack, nothing happens until the page posts back some other way.

What you get

Transfers chunked + resumable, parallel chunks, pause/resume, retry with backoff
Cloud direct-to-S3 multipart, Azure Blob, Google Cloud Storage via pluggable signers
Folders folder drops keep their relative path (e.RelativePath), traversal-sanitised
Instant upload opt-in SHA-256 content dedupe — a file already stored completes with zero bytes sent
Images client-side resize, crop, rotate, compress, watermark, EXIF auto-orient, thumbnails
Validation extension, MIME magic bytes, size, image dimensions, aspect ratio
Accessibility WCAG 2.2 keyboard-navigable queue, ARIA live regions, reduced-motion support
i18n 30 built-in locales including RTL (Arabic, Hebrew, Persian)

Saving uploaded files

Uploads land in a temp store first. Nothing is persisted until your handler copies or moves it:

e.CopyTo(path);   // keep the temp copy
e.MoveTo(path);   // move it
using (var s = e.OpenStream()) { /* stream it to a DB or a bucket */ }

Upgrading from 4.x

The v4 CuteWebUI API is fully intact — all 384 public members of the published 4.0.2.7 surface resolve on v5, so existing pages compile and run unchanged:

<%@ Register Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader" TagPrefix="CuteWebUI" %>
<CuteWebUI:Uploader runat="server" OnFileUploaded="Uploader_FileUploaded" />

The assembly version stays 5.0.0.0, so existing bindings and web.config entries keep working — the upgrade is a DLL swap. Confirm the build you are running via AjaxUploader.dll → Properties → Details → File version.

Licensing

This package installs a trial build. Localhost evaluation is unrestricted; production deployment requires a licence.

Product Compatible and additional computed target framework versions.
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.3.10 81 9/4/2026
5.3.9 91 9/1/2026
5.3.8 117 8/15/2026

Metadata release: adds package tags, title, readme and a fuller description so the package can be found on NuGet. The assembly is unchanged from 5.3.9. Note for 4.x users: the namespace is now AjaxUploader.Controls, previously CuteWebUI.