A modern upload engine for Bubble, built around one simple idea:
✦ The plugin handles the upload logic. You keep control of the interface.
Live demo:
https://demoafu.bubbleapps.io/version-test───────────────────────────
BUILT FOR REAL UPLOAD FLOWS
Accept one file or many through click-to-browse or drag & drop. Manage additional upload batches, queues, individual progress and overall progress without building the underlying upload plumbing yourself.
Every file is available from the moment it is added - whether it is queued, uploading, uploaded, failed or rejected.
That means one custom Bubble Repeating Group can represent the entire upload lifecycle.
───────────────────────────
SMARTER BEFORE THE UPLOAD STARTS
✦ Single or multiple file selection
✦ Maximum file counts
✦ Individual file-size limits
✦ Total upload-size limits
✦ Image, document, audio and video controls
✦ Additional allowed extensions
✦ Duplicate local-file protection
✦ Empty-file rejection
✦ Unsupported-file rejection
✦ Immediate full-quality image previews
Files are checked before they enter the upload queue, with human-readable rejection reasons exposed back to Bubble.
───────────────────────────
PRIVATE FILES, WITHOUT ANOTHER FILE SERVICE
Uploads use Bubble's own file infrastructure rather than being routed through an external Rosemont upload service.
Private files can be attached directly to a Bubble Thing and used alongside your app's Bubble Privacy Rules. Configuration states also help identify incomplete private-upload setups before they become confusing failures.
───────────────────────────
ONE FILE LIST. EVERY STATUS.
Advanced File Uploader exposes stable Upload Item IDs alongside index-aligned metadata including:
Name · Size · Formatted Size · Extension · Category · MIME Type · File Type Icon · Image Preview · Upload Status · Progress · URL · Message
Use those states to build your own file cards, compact lists, previews, progress bars, retry buttons, remove controls or anything else your app needs.
No forced uploaded-file UI.
No workflows shuffling files between separate “queued”, “uploading” and “uploaded” lists.
───────────────────────────
BUILT-IN RECOVERY
Failed uploads can be retried individually. Files can be removed through your own Bubble controls. The uploader can also be cleared or opened from another button using element actions.
Initial/existing files are supported too, making the same uploader useful when editing an existing Bubble record.
───────────────────────────
POLISHED BY DEFAULT. FLEXIBLE BY DESIGN.
The dropzone includes configurable guidance, smooth drag-over feedback, optional progress display and generated file-type icons with familiar per-file colours or your own brand colour.
Use the built-in UI, tone it down, or switch parts off and build the experience entirely yourself.
───────────────────────────
✦ Try the live demo:
https://demoafu.bubbleapps.io/version-test