FAQ . v5.2

Answers to the questions teams ask before rollout.

New in 5.2: the self-hosted Companion broker that keeps cloud tokens server-side, 6 cloud sources (Drive / Dropbox / OneDrive / Box / Unsplash / Companion), headless hooks for React, Vue, Svelte, and Angular, and a content-aware image editor with smart-crop, overlays, filters, and AVIF/WebP output. The questions below cover all of them.

What is the Companion broker, and why keep cloud tokens server-side? New in 5.2

The Companion broker is a self-hosted Node/Express OAuth and file-proxy service (multipleupload/server/companion), modeled on Uppy Companion, that ships with zero new dependencies. It handles the OAuth handshake for Dropbox, Box, Google Drive, and OneDrive on the server so your provider client secrets and access tokens never reach the browser - a browser-only picker would have to expose them. OAuth state is HMAC-signed for CSRF protection, and the token store is pluggable.

Can remote files stream straight to S3 or disk without passing through the browser? New in 5.2

Yes. The Companion broker offers two transfer modes. In proxy mode the broker streams the file to the browser, which then uploads it. In server-to-destination mode the broker streams the remote file directly to your destination (S3 or the built-in fileSystemDestination) so the bytes never touch the browser - ideal for large remote imports.

Can I build a fully custom upload UI with React, Vue, Svelte, or Angular? New in 5.2

Yes - the new headless hooks expose the upload engine without any built-in chrome. Use useUploader() in React and Vue, the use:uploader action in Svelte, and the UploaderService in Angular. Each returns { files, progress, status, addFiles, upload, ... } so you render every pixel yourself while the library handles transport, retry, and resume.

How does the smart-crop work - is it AI or face detection? New in 5.2

No AI and no face detection. Smart-crop is a content-aware, edge-energy heuristic: it measures detail across the image to find the focal point and centers the crop there. It runs entirely client-side with no model download. The editor also adds draggable text and sticker overlays, filter presets (Mono, Sepia, Warm, Cool, Vivid), an EXIF info panel, and crop-ratio quick-pick chips.

Can I export uploads as AVIF or WebP? New in 5.2

Yes. The image editor exports to AVIF or WebP with a quality slider, and falls back gracefully (AVIF to WebP to JPEG) when a browser cannot encode the chosen format. On the server, URL-based transforms via transformUrl() are honored in the Web Forms handler through GDI+ and in CoreUpload through the pluggable IImageTransformer.

Can I upload directly to Amazon S3, Azure Blob, or Google Cloud Storage without bytes hitting my server? New in 5.2: GCS

Yes - v5.2 ships strategy: 's3', strategy: 'azure', and the new strategy: 'gcs'. Your server signs a handful of short-lived URLs (via IS3Signer / IAzureSigner / IGcsSigner) and the browser PUTs each part directly to cloud storage. See the S3, Azure, or GCS demos for wire protocol + reference signers.

Can users import files from Google Drive, OneDrive, Dropbox, or Box? New in 5.2

Yes - the 5.2 cloud-source pickers let users browse and import files from Google Drive, OneDrive, Dropbox, and Box right next to local browse / drag-drop. Files stream from the cloud through your /import endpoint (server-side) or directly into the queue. See the Remote Sources demo.

Does AjaxUploader encrypt files in the browser before upload? New in 5.2

Yes - opt in with encrypt: true. Files are AES-GCM-256 encrypted using a PBKDF2-derived key from a passphrase you provide. Your server only ever sees ciphertext. Per-file salt + IV travel in X-Mu-Encryption-* headers. Compliance-friendly default for HIPAA / GDPR confidentiality workflows. Demo.

What happens if the network drops or the user closes the tab mid-upload? New in 5.2: Offline queue

With offline: true, AjaxUploader 5.2 installs a service worker that persists the queue and resumes uploads automatically when the network or tab returns - even if the page was fully closed. Pair with persistState: true for full IndexedDB-backed file recovery.

Can I plug in a virus scanner like ClamAV or Windows Defender? New in 5.2

Yes - the new /scan endpoint and OnFileUploaded server event let you shell out to ClamAV, Defender, or any AV CLI before the file is moved into your "clean" folder. Infected files are quarantined or deleted server-side. Demo.

Does it coordinate state across multiple open tabs? New in 5.2

Yes. Open the same upload dashboard in two tabs and watch progress, completion, and queue changes mirror live via BroadcastChannel. Useful for admins triaging an inbox from a side window. Demo.

Which languages ship out of the box? 5.2: 28 locales

28 built-in locales, including RTL Arabic, Hebrew, and Persian (auto layout flip). All UI strings are JSON-driven and overridable per page. Demo.

Does it handle HEIC photos from iPhones? New in 5.2

Yes - the 5.2 image pipeline auto-decodes HEIC to JPEG/PNG in the browser, runs through 5 preset sizes, and supports inline annotation (text, arrows, redaction) before upload.

Does the tus 1.0 protocol work out of the box?

Yes. The built-in ajaxupload.axd/tus endpoint speaks tus 1.0 (Core + Creation + Termination extensions). You can also point the client at an external tus server like tusd or uppy-companion - see the demo.

If a user reloads the page mid-upload, does it resume?

Yes, with persistState: true and persistAdapter: 'indexeddb'. Every in-flight upload persists to IndexedDB - including File blobs if persistBlobs: true - and auto-rehydrates on page load. The chunked, s3, and tus strategies all continue from the last completed chunk/part/offset. Demo.

Can I evaluate AjaxUploader before buying?

Yes. The official trial is available, and this site also includes the integrated demo package so you can run the real sample pages locally.

Is the license lifetime?

Yes. The public AjaxUploader FAQ describes the licenses as lifetime licenses with no recurring monthly or yearly fees.

Can it handle large files?

Yes. Chunked uploads, resume behavior, retry flows, and low-memory processing are all represented in the real demo library.

Can users pause and resume uploads?

Yes. Queue demos cover pause, resume, concurrent uploads, cancelation, and priority handling.

Does it support localization and custom UI?

Yes. AjaxUploader advertises support for multiple languages and extensive UI customization, and the demo set includes Tailwind, Bootstrap, modal, and wizard-style examples.

What should I use for ASP.NET Core?

Use CoreUpload for ASP.NET Core projects. AjaxUploader is the Web Forms-oriented product.

Does it support drag and drop?

Yes. Full-page drop, folder uploads, overlay effects, and drop zone styling are all covered. See the drag-and-drop demos.

Can I save uploads directly to SQL Server?

Yes. The SQL Server provider demo shows a database-backed storage strategy as an alternative to file system storage.

What Web.config settings do I need?

You need to register the control tag prefix and the ajaxupload.axd handler. The documentation page has the exact XML snippets and a step-by-step setup guide.

How do I deploy to production?

Copy the DLL, install the license file, configure request size limits, and run a smoke test. The deployment guide walks through every step.

Can I preview and crop images before upload?

Yes. The image handling demos cover preview, crop, resize, gallery upload, and EXIF orientation correction.