mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-15 18:09:15 +08:00
f4fc33d111
renamed form-upload to file-upload-html-form renamed file-upload to file-upload-single-post
37 lines
1.3 KiB
HTML
37 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>example</title>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<style>
|
|
#container { margin-right: auto; margin-left: auto; max-width: 480px; }
|
|
#info { background: #e0f0f0; border-radius: .5em; padding: 2em; }
|
|
#wrapper { margin-top: 1em; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="container">
|
|
<div id="info">
|
|
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.
|
|
<br/><br/>
|
|
In this example, the JavaScript code on this page sends the chosen
|
|
file in 4K chunks using the <code>/upload</code> endpoint.
|
|
The uploaded file is stored in the <code>/tmp</code> directory by
|
|
the helper API function <code>mg_http_upload()</code>
|
|
</div>
|
|
<div id="wrapper">
|
|
<input type="file" id="el1" style="display: none"/>
|
|
<button id="el2">choose file...</button>
|
|
<div id="el3"></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
<script src="app.js"></script>
|
|
</html>
|