multipart form
A multipart form is one call carrying several named things at once, text and files alike, each in a part of its own.
In more detail
Each part has a name and a content, and the parts are laid end to end behind a marker that says where one stops and the next begins. Whoever reads the call takes them apart by that marker and keeps each one under its name.
It is the ordinary way of uploading. A web page with a box to type in and a button to choose a photograph sends exactly this, which is why every language already has the few lines that build one.
What it does on a real document
One part carries the description of the document, as text. Every other part is a file the description draws on — a letterhead template, a photograph, a colour profile, the figures of an invoice — and the description calls each of them by the name of its part.
Nothing is uploaded ahead of time and nothing is kept afterwards: a part lasts only for the call that carried it. Sending the same photograph on two calls is two parts, and costs nothing but the sending.
Where it comes from, and why
The shape was borrowed from electronic mail, where a message has long carried its attachments the same way. Reusing it meant browsers and servers already agreed on how to pack a file.
Newer ways of sending a file exist, but this one has the merit that everything already speaks it: a shell, a browser and a twenty-year-old program can all make the same call.