我尝试使用NodeJS + ExpressJS + Multer进行文件上传,但是没有成功。
我的ExpressJS版本是4.12.3
这是我的源代码
server.js:
var express = require('express'),
multer = require('multer');
var app = express();
app.use(express.static(__dirname + '/public'));
app.use(multer({ dest: './uploads/'}));
app.post('/', function(req, res){
console.log(req.body); // form fields
console.log(req.files); // form files
res.status(204).end()
});
app.get('/', function(req, res) {
res.sendFile('public/index.html');
});
app.listen(5000, function() {
console.log("start 5000");
});
公共/index.html:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input id="file" type="file"/>
<button type="submit">test</button>
</form>
</body>
</html>
当我点击提交按钮时,我的NodeJS控制台日志如下:
"C:\Program Files\nodejs\node.exe" server.js
start 5000
{}
在NodeJS控制台上,req.files处存在一个空对象。这是我的源代码有问题吗?
app.post('/', function(req, res)
? - rjmacarthyname
属性,此外你仍需要使用body-parser
来获取req.body
。 - Ben Fortunename
属性。 - Ben Fortune