1 | # express-fileupload Examples
|
2 |
|
3 | ## Basic File Upload
|
4 | **Your node.js code:**
|
5 | ```javascript
|
6 | const express = require('express');
|
7 | const fileUpload = require('express-fileupload');
|
8 | const app = express();
|
9 |
|
10 | // default options
|
11 | app.use(fileUpload());
|
12 |
|
13 | app.post('/upload', function(req, res) {
|
14 | if (!req.files || Object.keys(req.files).length === 0) {
|
15 | return res.status(400).send('No files were uploaded.');
|
16 | }
|
17 |
|
18 | // The name of the input field (i.e. "sampleFile") is used to retrieve the uploaded file
|
19 | let sampleFile = req.files.sampleFile;
|
20 |
|
21 | // Use the mv() method to place the file somewhere on your server
|
22 | sampleFile.mv('/somewhere/on/your/server/filename.jpg', function(err) {
|
23 | if (err)
|
24 | return res.status(500).send(err);
|
25 |
|
26 | res.send('File uploaded!');
|
27 | });
|
28 | });
|
29 | ```
|
30 |
|
31 | **Your HTML file upload form:**
|
32 | ```html
|
33 | <html>
|
34 | <body>
|
35 | <form ref='uploadForm'
|
36 | id='uploadForm'
|
37 | action='http://localhost:8000/upload'
|
38 | method='post'
|
39 | encType="multipart/form-data">
|
40 | <input type="file" name="sampleFile" />
|
41 | <input type='submit' value='Upload!' />
|
42 | </form>
|
43 | </body>
|
44 | </html>
|
45 | ```
|
46 |
|
47 | ## Multi-File Upload
|
48 | express-fileupload supports multiple file uploads at the same time.
|
49 |
|
50 | Let's say you have three files in your form, each of the inputs with the name `my_profile_pic`, `my_pet`, and `my_cover_photo`:
|
51 | ```html
|
52 | <input type="file" name="my_profile_pic" />
|
53 | <input type="file" name="my_pet" />
|
54 | <input type="file" name="my_cover_photo" />
|
55 | ```
|
56 |
|
57 | These uploaded files would be accessible like so:
|
58 | ```javascript
|
59 | app.post('/upload', function(req, res) {
|
60 | // Uploaded files:
|
61 | console.log(req.files.my_profile_pic.name);
|
62 | console.log(req.files.my_pet.name);
|
63 | console.log(req.files.my_cover_photo.name);
|
64 | });
|
65 | ```
|
66 |
|