Templates Plugins Courses

AWS File Upload 1.79.0 Regression

In 1.78.0, files with spaces in their names would upload to S3 with those spaces still in their names, which from my perspective is the correct/desired behavior. In 1.79.0, they now upload to S3 with URL encoded characters so “Some File.txt” saves as “Some%0020File.txt” which is breaking things in my app. I have rolled back to using 1.78.0 but can you investigate this?

Additionally, changes like this should really be indicated in the release comment on new versions so users know to check for regressions.

Hello, @matthew1
Thanks for reaching out.

We confirm that some symbols are encoded in the mentioned way with the latest plugin version (1.79.0). This is because AWS cannot read some of the characters in the file titles, and subsequently, the download does not take place at all.
Thus, the symbols you see help upload an image with an unclear title for the platform.

Please allow me to provide you the list of these symbols: - _ . ! ~ * ’ ( )
As a solution, please don’t use them in the file title.

We are sorry for this confusion. :pray: Please allow me to mention that we always include the name of an upgrade/fix for each version in the Changelogs for the plugin. You can find them in the documentation: https://docs.zeroqode.com/plugins/aws-file-uploader-plugin#changelogs

In case of any additional questions will appear- please let me know.
Best regards,

This behavior is happening with spaces in 1.79.0, not just those special characters.

The “list of filenames” property should also return the filenames as saved to S3 so that the rest of our code knows where to find them. In 1.79.0 it saves them with these character substitutions in the filename but then returns the original, unmodified filename, which is what is breaking things.

The Changelog you linked to has no mention whatsoever of this change. It just says “Fixed problem with the signature”. There is no point in having a Changelog if you make very significant changes that can easily break implementations and then don’t include them in the Changelog.

Hello, @matthew1
We are sorry for your experience with this plugin.

Please allow me to mention that this point is related to the functionality of the AWS platform itself, but not to the plugin. For this reason, we cannot entirely avoid the facts of replacing spaces with special characters, unfortunately.

As for this, allow me to mention that It worked properly. So, you upload a file to the bucket and in your S3 can see the name of the file, which were uploaded. But the plugin returns you not the name of the file from the bucket, but the original name of the file.

We will take into consideration improving the method of recording the fixes in order to avoid these misunderstandings. Please accept our apologies for this inconvenience. :pray:

Best regards,

This behavior is really problematic in certain applications. For example, I have the following flow:
-Upload file via AWS File Upload
-Get name of file from AWS File Upload plugin
-Use API Connector to POST that file name to another API which retrieves the file from the S3 bucket.

The problem is that AWS File Uploader is changing the name of the file when it uploads it to S3 but returning the original file name. None of the object parameters allow me to write a Workflow in Bubble that accesses the name of the file as it has been uploaded to S3, which makes it impossible to use this plugin in my application now. Either the List of File Names property should match the name of the filename that now exists in S3 or there should be a new property like List of S3 Object Keys or something like that, which lists what the actual names are in S3.

Hello, @matthew1
We are sorry for the inconvenience you faced with the plugin.

Unfortunately, but the symbols like space, - _ . ! ~ * ’ ( ) cannot be recognized and encoded by the AWS platform.
In order to prevent the download being cancelled, all invalid characters are replaced by “%”.
Plugin returns you not the name of the file from the bucket, but the original name of the file.
Please check this documentation in case of necessity: encodeURIComponent() - JavaScript | MDN

I’m afraid, that it is a way how this plugin works now. I will discuss internally the possibility to re-create this part of the plugin with our developers for our future updates :pray:

There is one possible workaround for this case. However, it is available only for uploading one image at a time.

Best regards,