I'm looking for the API call (or set of) that will allow me to upload a roughly 20mb file to somewhere in Salesforce that would later let me process this file via APEX to update various objects based on data in the file.
The only context that can even store 20 MB of data in RAM is Email Services. That means you'd have to kick off an email to Salesforce just to get your code to have enough memory to load your file in memory, much less have a chance of doing anything. Batch Apex, future methods, and Queueable all only have a 12 MB limit.
Depending on the complexity of your logic, it's highly unlikely you'll get enough execution time in Apex Code to do what you're trying to do, unless you use Batch Apex, which only has 12 MB of heap (see above). Apex Code is a fairly powerful language, but it's not exactly fast. In some optimal cases, you can get about 18 million instructions, but realistically it'll probably be closer to just 2-4 million instructions. It's hard to process that much data with the limits on CPU time.
Email Services, the only context that has more than 12 MB of heap, has limits as well. Each attachment can only be 5 MB, and there's a 10 MB limit on the entire email. That means you'd have to upload the file, and then send an email, and hope that the code finishes processing within the 60 second CPU limit. This is just going to complicate your code even further.
Many of the cooler string processing techniques are tied to regular expressions, which in turn has a 1 MB limit. For example, you probably can't use String.split, String.replaceAll, and so on. That'll make it even harder to keep inside the CPU limits.
Processing raw files in Apex Code simply isn't practical. You'll want to run your heavy processing in your PHP script, Heroku, Amazon cloud services, or pretty much anywhere else. The limits we have in Apex Code are perfect for our most usual business cases, but raw file processing is not one of them.
I had Full Fibre 900 installed on July 13th and after months of delays was completed on monday 3rd october, and while the download speed to my hub looks to be fine, the upload speed seems to be capped at 20Mb. When I ordered the new package it said I should be getting 110Mb.
I have seen from reading other threads that this seems to be a fairly common issue after a FTTP install and there is this artificial cap for some reason. The general suggestion that it will sort itself out on its own after a few days from the install date does not appear to have happened in my case. As it has been solved on here for others, I too am wondering if any of the moderators here might be able to assist and take a look at this for me please?
ive spoken with the FTTP TEAM, they have said there is no bedding in period with fibre and it should not fluctuate so waiting doesnt make a difference, but because it is at 20mb it is over the 10mb guarantee so they cant do anything. i actually found both the people i spoke to extremely rude and unhelpful.
Obviously from reading the forum posts and contrary to your phone conversation there is a delay for some customers with the up speed correcting itself if not corrected itself in few more days then post back
c80f0f1006