var express = require('express');
var router = express.Router();
const formidable = require('formidable');
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/portrait', (req, res) => {
res.render('portrait');
});
router.post('/portrait', (req, res) => {
const form = formidable({
multiples: true ,
uploadDir: __dirname + '/../public/images',
keepExtensions: true
});
form.parse(req, (err, fields, files) => {
if (err) {
next(err);
return;
}
let url = '/images/' + files.portrait.newFilename;
res.send(url);
});
});
module.exports = router;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件上传</title>
</head>
<body>
<h2>文件上传</h2>
<hr>
<form action="/portrait" method="post" enctype="multipart/form-data">
用户名: <input type="text" name="username"><br>
头像: <input type="file" name="portrait"><br>
<hr>
<button>点击提交</button>
</form>
</body>
</html>