AWS File Uploader Plugin

Demo to preview the settings

Introduction

AWS File Uploader Plugin is a powerful tool, that allows you or your users to upload files from Bubble apps directly to your AWS (Amazon Web Services) S3 Bucket without any file size limits.
The plugin comes with the multi-file uploader element as well as the S3 objects element that returns a list of all the files uploaded to your AWS S3 bucket or a special folder on that bucket. The plugin also allows you to delete S3 objects from your bucket.
Each uploaded file has its own visual progress bar, so you or your users can see the upload progress. Plugin will also return a state with file URL(s), file size(s), last modified date(s), etc.
Image without caption

Tutorial

How to Setup

To run this plugin you need the following to set it up on the AWS side:

1. AWS account

2. Get credentials

The policy we present in the documentation is just a template. Each client can set their own rules. The plugin works with pre-signed URLs and can operate with any policy.

3. Setting Cross-origin and Politics.

NEW ELEMENTS❤️‍🔥

This elements allows you to upload files directly to AWS S3 using pre-signed URLs. This documentation details the necessary steps for configuring the plugin and using it, including generating pre-signed URLs and setting up actions for uploading files to AWS S3.

File uploader

This element lets you easily upload files into your S3 Bucket using the User Interface
The “File uploader element” conflicts with the “Multi-File Uploader - Dropzone” created by Bubble because they use the same library but different versions. Unfortunately, the Bubble plugin uses an outdated library, which breaks the functionality of our plugin.
HEIC images require a license to be displayed and worked with on the web, which means that most modern browsers cannot utilise the crop feature with HEIC images. If your use case requires this functionality, please note that Safari on iOS, iPadOS, and macOS is the only browser that supports it currently.

Element Properties

Element events

Element states

Element actions

File Upload No GUI

Image without caption

Elements Proprieties

Element events

Element states

Elements Actions

Plugin actions

Delete Files/File

Set standart Cross-origin

Delete Folder

Get All Files

Generating a Pre-signed URL

Uploading to AWS

Steps for Configuring the “File Uploader" and "File Uploader No GUI”

  • Adding the Element to the Page
    • Open the page editor and navigate to the page where you want to add the AWS file upload functionality.
    • Select the “File uploader” or “File Upload No GUI” elements from the component library.
    • Add the element on the page.
  • Configuring the "Generation URL" Event
    • In the Workflow section, add a new event by selecting "Generation URL" from the list of available events.
    • Select the wanted Uploader element from the Element dropdown.
    • Image without caption
  • Adding the "Generate Pre-Signed URL" Action
    • In the "Generation URL" event, add a new action.
    • Select "Generate Pre-signed URL " from the list of available actions.
  • Configuring Fields for "Generate Pre-signed URL"
    • Bucket Name - Bucket name from AWS where to upload the files.
    • File Path - This field requires the path of the file in order to upload it. Both new elements have a new state that returns this information.
Image without caption
  • Adding the "Upload File" Action
    • After configuring the "Generate Pre-signed URL" action, add a new action under the same "Generation URL" event.
    • Select "Upload File" from the list of available actions for the new elements.
  • Configuring Fields for "Upload to AWS"
Image without caption
  • Element - Select the wanted element from the dropdown.
  • Pre-signed upload URL - Enter the Pre-signed URL for uploading the file as the result of the previous “Generate Pre-signed URL" action. This URL will be used to upload the new file to AWS S3.
  • Delete Sign URL: Enter the Pre-signed URL for deleting the file (if applicable) as the result of the previous “Generate Pre-signed URL" action. This URL will be used to delete the previously uploaded file from AWS S3.

Tips

Image without caption

Changelogs