Mongoose always buffers a full HTTP message before invoking the MG_EV_HTTP_MSG event. A big POST request would require a lot of RAM to buffer everything. Therefore, in order to upload large files on memory-constrained systems, a large file should be sent in small chunks.
In this example, the JavaScript code on this page sends the chosen file in 2Kb chunks using the `/upload` endpoint. The uploaded file is stored in the `/tmp` directory by the helper API function `mg_http_upload()`