Nice answer on stackoverflow to the question of when to use one or the other content-types for POSTing data, viz.
“The moral of the story is, if you have binary (non-alphanumeric) data (or a significantly sized payload) to transmit, use
multipart/form-data. Otherwise, use
Matt Bridges' answer in full:
The MIME types you mention are the two
Content-Type headers for HTTP POST requests that user-agents (browsers) must support. The purpose of both of those types of requests is to send a list of name/value pairs to the server. Depending on the type and amount of data being transmitted, one of the methods will be more efficient than the other. To understand why, you have to look at what each is doing