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. Therefore, standard form uploads should be used only when Mongoose runs on a system with lots of RAM. Otherwise, please see `file-updload` example, how a big file could be uploaded to a device with little RAM.
In this example, a standard HTML form upload is used, which uses `multipart-form-data` encoding with several variables and file upload. On a server side, a `mg_http_next_multipart()` API is used to iterate over all submitted form elements and print their payload.