Mongoose always buffers a full HTTP message before invoking MG_EV_HTTP_MSG event. Big POST request require of lot of RAM to buffer everything.
In order to upload large files to a memory-constrained system, use `MG_EV_HTTP_CHUNK` on a server side. It fires when a partial HTTP message has been received (or a chunk-encoded chunk). Use `mg_http_delete_chunk()` to release chunk memory. When 0-sized chunk is received, that's the end of the message. Use `MG_MAX_RECV_SIZE` build constant to limit maximum chunk size on a server side.
In this example, JavaScript code uses "fetch()" browser API. Uploaded file is not saved, but rather printed by server side.