AjaxUploader.WebForms
5.3.10
dotnet add package AjaxUploader.WebForms --version 5.3.10
NuGet\Install-Package AjaxUploader.WebForms -Version 5.3.10
<PackageReference Include="AjaxUploader.WebForms" Version="5.3.10" />
<PackageVersion Include="AjaxUploader.WebForms" Version="5.3.10" />
<PackageReference Include="AjaxUploader.WebForms" />
paket add AjaxUploader.WebForms --version 5.3.10
#r "nuget: AjaxUploader.WebForms, 5.3.10"
#:package AjaxUploader.WebForms@5.3.10
#addin nuget:?package=AjaxUploader.WebForms&version=5.3.10
#tool nuget:?package=AjaxUploader.WebForms&version=5.3.10
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);
}
FileUploadedfires on the postback, not during the transfer. The control posts back automatically when the batch finishes; if you disableAutoPostBack, 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.
- Docs and demos: https://ajaxuploader.com
- Purchase: https://ajaxuploader.com/Order.aspx
- Support: https://ajaxuploader.com/Contact.aspx
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net48 is compatible. net481 was computed. |
-
.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.
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.