Unfortunately Retool is most likely not the best option for uploading and processing huge amounts of data and files
Perhaps Dropbox or a similar service could better meet your needs.
There are limits on how big of a file you can process in Retool, you could try chunking your data and folders/files into smaller amounts. You can read more about how other users uploaded files with custom HTML components to an AWS S3 bucket on this forum post here.
Could you elaborate on the 'processing' you are looking to do on submit? The issue with upload files and not sending them to a database "until you submit' is that while they are being held in the frontend/state on your app/browser, they could be lost from a browser refresh, networking issues, etc.
If you send the data to a database you can then access it to manipulate it and save it back to the Resource with additional queries.