Documentation · v5.3

Install, configure, license, and deploy AjaxUploader 5.3.

Quick-start setup, signer recipes for the new cloud transports, the full class reference, and migration notes for teams moving from 4.x in one place.

Quick start summary

Minimal Web Forms setup

  1. 1. Copy AjaxUploader.dll into your site's bin folder.
  2. 2. Register the au server control in Web.config or on the page.
  3. 3. Add the ajaxupload.axd handler entry in system.webServer.
  4. 4. Create a writable temp folder such as App_Data\UploaderTemp.
  5. 5. Add au:AjaxFileUpload to a Web Forms page and verify /ajaxupload.axd responds.
The local demo notes also call out the main app settings you can tune: temp directory, max file size, chunk size, allowed extensions, and resume support.

Web.config example

Handler and control registration

<pages>
 <controls>
 <add assembly="AjaxUploader"
 namespace="AjaxUploader.Controls"
 tagPrefix="au" />
 </controls>
</pages>

<handlers>
 <add name="AjaxUploader"
 path="ajaxupload.axd"
 verb="*"
 type="AjaxUploader.AjaxUploaderHandler, AjaxUploader"
 preCondition="integratedMode" />
</handlers>
Upgrading from 4.x? The <handlers> entry above is required and is new in v5. A 4.x web.config registered only CuteWebUI.UploadModule, because v4 intercepted uploads posted to the page URL; v5 serves them from ajaxupload.axd. Keep the old module entry if you like — it is harmless — but without this handler mapping every upload returns 404.

Page markup

Drop it on a page

<au:AjaxFileUpload ID="Uploader1" runat="server"
    AllowMultiple="true"
    Chunked="true"
    AutoPostBack="true"
    OnFileUploaded="Uploader1_FileUploaded" />
Multi-file, drag-and-drop, chunked, with progress, retries and validation. AutoPostBack raises the server event as soon as the batch finishes; leave it off to handle files on your own submit button instead.

Handle the result

Read, copy or move each file

protected void Uploader1_FileUploaded(object sender,
    AjaxUploader.Events.FileUploadedEventArgs e)
{
    // e.FileName, e.FileSize, e.ContentType, e.FileGuid
    e.MoveTo(Server.MapPath("~/App_Data/Saved/" + e.FileName));

    // or keep the temp copy:  e.CopyTo(path);
    // or read the bytes:      using (var s = e.OpenStream()) { ... }
}

// From any postback handler (a Save / Send button):
foreach (var item in Uploader1.Items)
{
    item.MoveTo(Server.MapPath("~/App_Data/Saved/" + item.FileName));
}
Files land in temp storage under a GUID and are swept after 60 minutes. Promote them when your form actually saves — MoveTo removes the temp copy, CopyTo keeps it. Coming from 4.x? Your CuteWebUI: markup and args.OpenStream() handlers keep working unchanged — see the upgrade page.