AjaxUploader 5.0 Quick Start
============================

Requirements
- ASP.NET Web Forms on .NET Framework 4.8
- IIS Express, IIS, or another ASP.NET-compatible host
- Write access to App_Data\UploaderTemp or your configured upload temp folder

Run the demo package
1. Open DemoApp\AjaxUploader.Demos.csproj in Visual Studio.
2. Build the project.
3. Run with IIS Express.
4. Open Default.aspx.

Use AjaxUploader in your own Web Forms application
1. Copy these DLLs into your site's bin folder:
   - AjaxUploader.dll
2. If you are upgrading an older 4.x CuteWebUI site, add `CuteWebUI.AjaxUploader.dll` separately from the compatibility build.
3. Register the server controls in Web.config or on the page:

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

4. Register the upload handler in system.webServer:

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

5. Create a temp upload folder such as App_Data\UploaderTemp.
6. SAVE the uploaded files. Uploads land in the temp folder and are swept after
   60 minutes; nothing is permanent until your FileUploaded handler saves it:

       <au:AjaxFileUpload ID="Uploader1" runat="server"
           AutoPostBack="true" OnFileUploaded="Uploader1_FileUploaded" />

       protected void Uploader1_FileUploaded(object sender,
           AjaxUploader.Events.FileUploadedEventArgs e)
       {
           new AjaxUploader.Services.UploadService()
               .CopyFile(e.FileGuid, "~/uploads/" + e.FileName);
       }

   Full details, postback rules and troubleshooting: 04-Saving-Uploaded-Files.txt
6. Add a control to a page:

   <%@ Register Assembly="AjaxUploader" Namespace="AjaxUploader.Controls" TagPrefix="au" %>
   <au:AjaxFileUpload ID="Uploader1" runat="server"
       ButtonText="Select Files"
       AutoUpload="true"
       ShowProgress="true" />

7. Run the site and verify that /ajaxupload.axd responds.

Useful appSettings
- AjaxUploader.TempDirectory
- AjaxUploader.MaxFileSize
- AjaxUploader.ChunkSize
- AjaxUploader.AllowedExtensions
- AjaxUploader.EnableResume

Notes
- AjaxUploader 5.0 embeds its JavaScript and CSS inside AjaxUploader.dll, so there are no separate client asset files to deploy.
- For ASP.NET Core applications, use CoreUpload instead of AjaxUploader.

Package layout
- DemoApp\ contains the standalone demo project.
- files\ contains the obfuscated AjaxUploader.dll plus the optional legacy compatibility DLL.
- reference\class-reference\ contains the offline API reference site.
- reference\embedded-client-assets\ contains the obfuscated ajaxuploader.js for reference only. Deployment still uses AjaxUploader.dll.
