Skip to content
Preptima
hardDesignConceptMidSeniorStaff

Customers need to upload two-gigabyte files to your API over a flaky connection. What does that endpoint look like, and what breaks if you just accept a POST body?

6 min readUpdated 2026-08-15Target archetype: Big Tech, Enterprise Captive, Product Startup

Answer

Short answer

A single large POST fails on the last percent and starts again, and it drags every proxy body limit and idle timeout into your critical path. Either hand out a scoped credential so bytes go straight to storage, or model the upload as a resource with a committed offset the client can resume from.

This is an HTTP file upload design problem. Good HTTP upload design uses resumable chunks, idempotent part commits, checksums, and a completion step that can be retried. Weak file upload designs stream the whole body through one request and make the user start again after a network drop. Strong file upload handling treats the upload as a session with recoverable state.

Was this answer helpful?

Likely follow-ups

  • The client's connection drops at 1.8 GB. What exactly does the next request look like?
  • Two clients start uploads for the same target resource at the same time. What happens?
  • Where does virus scanning or transcoding fit, and what does the client see while it runs?
  • Half your uploads are abandoned midway. What cleans them up, and how do you avoid deleting one that is still in progress?

Related questions

Masterclass guide

Further reading

Related Topics