☁️ AWS File Uploader No File Size Limit- New Plugin from Zeroqode

AWS File Uploader - No File Size Limit
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) without any file size limits.

Plugin comes with the multi-file uploader element as well as S3 objects element that returns a list of all the files uploaded to your AWS S3 bucket. The connector also allows you to delete S3 objects from your bucket.

Link to the plugin AWS File uploader - Any size Plugin for Bubble | Zeroqode

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, last modified date, file name.

Workflow contains three events “files uploaded”, “error occurred” and “bucket objects loaded”, and two actions “get all objects from S3” and “Reset File Uploader”, that will clear all files pending upload.

Using this plugin can’t be any simpler, but setting up the AWS server will require some efforts.

For that reason we have created our guide, on https://docs.zeroqode.com/plugins/aws-file-uploader , that will walk you through the successful configuration of your AWS S3 bucket.

Then you should simply place plugin’s file uploader element anywhere on your page and start using.

In order to get the list of S3 files or delete file you need to place plugin’s S3 object element on the page (it can be hidden) and then the workflow actions will become available

If you have questions about this plugin or need any help, please reach out through Zeroqode Forum at https://forum.zeroqode.com

Levon Terteryan
Founder @ Zeroqode

zeroqode-for-web-160x120

Bubble Templates
Bubble Plugins
Bubble Courses
Convert Web to iOS & Android
No-Code Development Services

11 Likes

Great!

Why is this different from the uploadcare uploader? im considering either of those.

It’s different because with this plugin you can use your own AWS account and S3 storage and it is supposed to be cheaper than paying to uploadcare

2 Likes

we’ve just added image resize dimension parameters (width and height in pixels)

Hi Levon,

This plugin has proven quite helpful thus far, however I do have one enquiry. Is it possible to make the file size of an upload available, so I can record each upload’s size in my database?

Please advise. Thank you.

we’ll try to enable this, i’ll update when done
thanks

1 Like

Hi @levon ,

This will be tremendous cost saving plugin since my app is visual rich CMS.

I followed your instruction and uploaded pictures in my S3 bucket. However, I can not retrieve the URL to show the pictures. I have to press “Make public” button to make it visible from Bubble.


Otherwise, error message pops up by clicking the URL.

I think I miss something very basic in here.
Thank you in advance.

yes, at the moment the bucket has to be public for the plugin to work, we are working to enable some kind of a restricted access but meanwhile you can at least enable this kind of a security as described here

1 Like

Thank you!
Now it works by fixing the Bucket policy.
Will you also update your instruction for others?
https://docs.zeroqode.com/plugins/aws-file-uploader#3-iam-security-roles

1 Like

good idea, done!

2 Likes

Hi, @levon

I have three another questions.

  1. It seems that I have to check on “Many files” to retrieve S3 URLs. I failed to retrieve the URL if I uncheck it. Is this a bug??
    00

  2. Files remain saved in the S3 bucket even when I click on “Remove file”. Should I manually delete the file with Workflow.
    54

  3. I can not figure out a way to delete files in S3 with Workflow. I placed the S3 Object and made a workflow relevant to it. What am I doing wrong here? Please advise. (Btw, I know how to delete the records(URL) saved in Bubble.)
    17

Thanks!

if you uncheck this checkbox you need to use a different plugin state which is called “file URL” (instead of list of files url)

yes, you should delete them manually, this “remove file” is only for the uplaoder widget

maybe you should check the S3 bucket permissions if the delete is allowed there

1 Like

@dominic we have added file size state + added image crop + fixing minor bugs to the AWS file uploader.
Please upgrade to the latest plugin version, refresh the browser and give it a try
thanks!

Hi Levon,

I upgraded but the file uploader now fails to launch on the page. The uploader does not trigger the file browser when clicked. The previous version of the plugin still works fine, but this latest version doesn’t seem to work in any browser I’ve tested.

Anticipating your response. Thank you for your efforts!

Can you send a screenshot of your browser console when you install the latest version?
Or share access to your app to maxim@zeroqode.com

Hi Levon,

When I switch to the latest update of the plugin, below is the error the console returns:

Uncaught (in promise) ReferenceError: $jscomp is not defined
at eval (eval at g.create_code (x4:76), :3:134)
(anonymous) @ VM605:3
Promise.then (async)
(anonymous) @ VM605:3
setTimeout (async)
(anonymous) @ VM605:3
(anonymous) @ x4:76
q @ x4:76
(anonymous) @ x4:76
Ke.run_without_catching_not_ready @ x4:78
(anonymous) @ x4:76
e._run_if_not_destroying @ x4:71
e.run_me @ x4:79
e @ x4:79
Ke.autorun @ x4:79
e.autorun @ x4:71
(anonymous) @ x4:76
(anonymous) @ x4:70
Ke.autorun_top @ x4:79
e._update_visible @ x4:70
e._update_visible @ x4:70
do_show @ x4:37
e.do_show @ x4:71
e.workflow_show @ x4:71
(anonymous) @ x4:38
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
run @ x4:38
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:32
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
(anonymous) @ x4:32
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:32
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
(anonymous) @ x4:32
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:32
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
(anonymous) @ x4:32
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:32
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
(anonymous) @ x4:32
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:32
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
(anonymous) @ x4:32
(anonymous) @ x4:38
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
run @ x4:38
(anonymous) @ x4:75
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
n.run @ x4:75
(anonymous) @ x4:32
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t.run_subsequent_actions @ x4:32
(anonymous) @ x4:31
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
t._run_workflow @ x4:31
(anonymous) @ x4:31
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
i @ x4:31
(anonymous) @ x4:31
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
(anonymous) @ x4:31
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
(anonymous) @ x4:31
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
e.freeze_workflows @ x4:70
t.run_workflows @ x4:31
(anonymous) @ x4:34
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
(anonymous) @ x4:34
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
e.freeze_workflows @ x4:70
(anonymous) @ x4:34
(anonymous) @ x4:78
(anonymous) @ x4:78
e._attach_success @ x4:78
e.then @ x4:78
e.callback @ x4:78
Ke.run_once @ x4:79
S.run_element_workflow @ x4:34
(anonymous) @ x4:34
dispatch @ x4:11
q.handle @ x4:11

We have fixed this bug, please upgrade and try again
thanks

Brilliant - thank you!

Hi @levon ,

Is there a good way to manage some kind of categories to the uploaded files once they are in the bucket? I want to be able to put them in different folders/categories based on content and also retrieve them into the app with this folder/category sorting option.