mirror of
https://github.com/cesanta/mongoose.git
synced 2025-01-04 13:15:36 +08:00
6e3e5560d0
PUBLISHED_FROM=ebf5568abe82952ab2751298185a10189098013f
936 B
936 B
Handling file uploads
In order to handle file uploads, use the following HTML snippet:
<form method="POST" action="/upload" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
Uploaded files will be sent to the /upload
endpoint via the POST
request.
HTTP body will contain multipart-encoded buffer with the file contents.
To save the uploaded file, use this code snippet:
struct mg_str cb(struct mg_connection *c, struct mg_str file_name) {
// Return the same filename. Do not actually do this except in test!
// fname is user-controlled and needs to be sanitized.
return file_name;
}
void ev_handler(struct mg_connection *c, int ev, void *ev_data) {
switch (ev) {
...
case MG_EV_HTTP_PART_BEGIN:
case MG_EV_HTTP_PART_DATA:
case MG_EV_HTTP_PART_END:
mg_file_upload_handler(c, ev, ev_data, cb);
break;
}
}