Ok. So from insomnia, I was able to send a file (private if needed) larger than 50 mb. But you need to have Bubble element ID that point to a fileuploader element set to max file size.
After, the first step will be to send a POST request to https://yourdomain/version-test/fileupload/geturl
with this payload (you can replace the version to live if needed)
{"public":true,"service":"bubble","timezone_string":"America/Toronto","serialized_context":{"element_id":"aaaaa","current_date_time":1741126604489,"timezone_offset":300,"timezone_string":"America/Toronto"},"name":"filename.ext","size":115208192,"content_type":""}
You need to modify the payload with correct informations.
if you need to set it to private, you will replace "public":true
by "attach_to":"unique_id to attach to"
this will return this kind of payload
{
"url": "https://s3.amazonaws.com/appforest_uf",
"fields": {
"key": "",
"x-amz-meta-appname": "meta",
"x-amz-meta-app-version": "test",
"Content-Type": "",
"x-amz-meta-scheduled-id": "",
"acl": "public-read",
"bucket": "appforest_uf",
"X-Amz-Algorithm": "",
"X-Amz-Credential": "",
"X-Amz-Date": "",
"Policy": "",
"X-Amz-Signature": ""
},
"file_url": "file url"
}
you need to do another POST multipart form request to the url from this payload and with all the needed key starting with ākeyā, x-amz-meta-appname, x-amz-meta-app-version, Content-Type, x-amz-meta-scheduled-id, acl, bucket, X-Amz-Algorithm, X-Amz-Credential, X-Amz-Date, Policy, X-Amz-Signature and at the end, the file (with file as key)
This should return 204 response. You can store the url from the previous payload or from the ālocationā header of the 204 response.
By the way, I said sadly because for me, this is a security issue. I was able to upload a file to Bubble storage (but was limited in size because the field was set to this size)