Multipart upload
Multipart upload splits a large file into smaller parts that are uploaded independently — often in parallel — then reassembled into one object on the server. It improves throughput, survives flaky networks by retrying only failed parts, and is the standard way to move large files into object storage reliably.
When you upload a multi-gigabyte file as a single stream, one dropped connection means starting over. Multipart upload breaks the file into chunks (commonly 5–100 MB each), uploads them as separate requests, and tells the server to stitch them back together at the end. If part 7 fails, you re-send only part 7.
Parallelism is the other win. Because parts are independent, a client can upload several at once, saturating available bandwidth instead of being limited to one sequential stream. Each part typically returns its own ETag, which the finalize step uses to verify the assembled object is complete and correct.
As a rule of thumb, switch to multipart once files exceed a few hundred megabytes, or whenever uploads happen over unreliable mobile or long-haul connections.