Forum Academy Marketplace Showcase Pricing Features

Better Uploader [UPDATED 2023] ☁️

Let me clear this up for you and others who have any questions…

You can display a file on the page using the Raw Data Exposed State while uploading the file in the background. Once, the file is uploaded, you can then display the uploaded file on the page!

This gives the illusion of instant uploading.

My two cents: I don’t think it’s a big deal for 99% of users to just show a loading screen while the file is being uploaded. If you are uploading a file from your phone, and it takes 5 seconds to process, I think most people won’t have any problem with that.

But if you want to do that, my plugin lets you do it :slight_smile:


UPDATE: Version 5.2.1

Fixed bug with limiting the file type. You can now limit multiple file types.

Attention: the file types are case sensitive. For example…

Limit File Type: .png,.jpg

If the file comes in as .PNG or .JPG then it will throw an error. To be safe, it’s better to do…

Limit File Type: .png,.PNG,.jpg,.JPG

It is safer because different operating systems will give them with or without capital letters.

As a reminder, the syntax is that the extensions must have a dot before the extension name, and the extensions need to be comma delimited WITHOUT spaces in between them.

Here are some examples…

  • .mp3✔️
  • .mp3,.mp4 :heavy_check_mark:
  • .jpeg,.jpg,.docx :heavy_check_mark:
  • jpeg :x:
  • .jpeg .mp4 :x:
  • .mp3, .jpeg :x:
  • jpeg,mp4,mp3 :x:

Happy Bubbling!


Handy plugin, just what I need - thanks for all your hard work!

I think I may have found a bug - video attached

If the file is a .MOV file the file manager thinks is a application/octet-stream and filename is undefined.

If you however adjust the filename in the action workflow to say xyz- then the file uploads correctly with the pre appended filename and the correct .MOV extension.

Tested with .mp4 and this works without fault. (apologies for the vid being a touch cutoff, and there is a delay at 1 minute but it continues.)


1 Like

Also - just in case anyone else comes across this and goes mad trying to figure out what went wrong.

The plugin appeared to stop working and I tried everything to make it work… delete, new page with all new things.

Then I tried another uploader from Bubble and got this message:

  • Agency plan.

So watch out for that gotcha :wink:

1 Like

Another question in relation to the speed of getting back the s3 url in a timely manner.

I don’t know if I am doing something incorrectly but I do seem to have to wait for long time after the upload is completed to access the Amazon S3 url.

I have made a video where you can see the delay into a custom state that shows when the S3 url is available.

This is quite problematic when trying to save to the record I am creating without the user having to wait.

Maybe I can have it happen in the background? and connect them up after… I am just not entirely sure how to reference it.


I created a beckend workflows, and although there is a delay in it saving, it does link the upload to the record.

It appears this is the same delay for all the uploaders I’ve tried that save to S3.

I’m just wondering if the browser window is closed before the links made it will be an orphaned file… I guess I’ll test some more.

1 Like

I haven’t experienced this issue myself. I wonder if it has to do with your internet speed. I just tested this myself and it was almost instantaneous. How have you set it up?

UPDATE 5.2.2

  • Changed the File(s) have Uploaded event to “Upload Operation Complete”
  • Added the File is Uploaded event

This is an exciting update because the event fires after every file is uploaded. This let’s you run a workflow for each file uploaded in a list. If you upload 15 files, it will fire 15 times. If you upload 99 files, it will fire 99 times.

For instance, every time you upload a file you can create a thing. When the entire file upload operation has completed, the Upload Operation Complete event fires.

This is one of my favorite updates to date because when combined with my Wait Please plugin, I am able to create a thing for every file that is uploaded and then run a client side loop that deletes “to be deleted” files whenever a client is accessing the client side. This lets me avoid using backend workflows to run large file deleting operations on a large list of files. I am using the client side to perform bulk operations :smiley:



Hi @jonah.deleseleuc

Yes your plug-in works perfectly as you described. I like it. My current scenario however, is the user needs to upload MANY images from their phone. This created two issues:

    1. It takes a long time to process/upload to bubble.
      a. It’s amazing to me how quickly your plug-in displays the raw data of those files.
  1. The page will crash anyway.

I’m wondering if there’s a way to get around these limitations.


Update: it seems as if your latest update will do what we need. Can’t wait to try it.

Thanks again.

1 Like

interestingly i used the new event and the problem I was having seems to have gone away… which is awesome.

And my internet speed was pretty fast btw


Hi jonah.deleseleuc,

How do I upload to an external storage service ( instead of storing the file on bubble?

Also, is there a state that exposes the file size?


See why I don’t build plugins like this? Anyway, nice to have you around, @jonah.deleseleuc.

1 Like

Hey Bailey,

In the pursuit of being honest this plugin is not made for connecting to external services like box. It’s supposed to be a better version of the default uploader which lacks a lot of features that this plugin solves (like being able to access the file before uploading it, for example).

Part of the reason why I don’t want to go down that rabbit hole is because services like box are all different and require different mechanisms of uploading the files and are subject to change at any time.

That said I may be open to adding a feature which could pass the bytes of the files (as a file object or data stream, however it needs to be done) to the API connector so that you can set up that connection with box manually

About your question about file size, there’s currently no exposed state for that but I can add that in the next release


Hi Jonah, yes I’ve already integrated the API into our application and would love to to use your plugin and upload the file to box instead of using bubble storage. I feel file storage and the management of files is lacking in bubble and in the plugin market. Thanks for adding the size state to the next release.

1 Like

Announcing Cloud Companion :cloud:

The next edition of Better Uploader will also release with a new companion plugin called Cloud Companion

Cloud companion is an expansion pack for Better Uploader which will include many useful features such as…

  • compress JPG’s, PNG’s and BMP’s by giving a quality number from 1 - 99
  • extract text from a text file
  • apply filters to images
  • resize images
  • combine images
  • video compression

…and more to come!

Cloud companion is designed to work in tandem with Better Uploader. Wondering How?

Remember Better Uploader’s Raw Data exposed state (useful for previewing files)? Well, by passing that Raw Data to Cloud Companion’s actions (executed in the workflow tab) you will be able to leverage those functions and Cloud Companion will take care of the rest :smiley:

I wanted to let everyone know that I really appreciate the positive feedback that I received for Better Uploader. Cloud Companion will only cost 14$ and is a completely optional plugin. All of Better Uploader’s features will continue to be free and I am comiting to support both plugins.

If you’d like to support the work I do, I 100% recommend getting Cloud Companion!

Cloud Companion will release in the next 2 to 3 weeks (it’s almost done, it just needs to be polished)




Looking forward to this, especially the part about compressing videos!

1 Like

Thank you!

I have a working version of this right now but the issue is that it takes too much CPU resources. I have found a different library which does the same thing and apparently is faster and more efficient.

Will let you know when there’s more info


Sounds promising but being that you’ll be one of the first, if not the first plugin to try and offer video compression, I’m aware of the hurdles you’re facing.

I’ll follow up via PM

1 Like