我的NodeJS服务器使用秘密表单将文件上传到亚马逊。话虽如此,我想通过为该表单提供密码字段来增加额外的安全性 - 问题是,当我这样做时,当我尝试通过req.body.pass
访问它时,我的服务器没有获得该属性
我的代码:
//Express NodeJS Server:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.post('/upload', function(req, res, next) {
console.log(req.body.pass); //undefined, but why? when I remove enctype='multipart/form-data' it works
})
//HTML
<form action="/upload" method="post" enctype='multipart/form-data'>
<input type="file" name="name" value="">
<input type="file" name="email" value="">
<input type="file" name="age" value="">
<br>Password: <input type = "password" name = "pass"><br>
<br><input type="submit" value="Submit">
</form>
当我删除以下内容时:
enctype='multipart/form-data'
田野通行证..我在这里做错了什么?
答案 0 :(得分:0)
正如bodyParser
中间件名称所示,它们只处理'application / json'和'application / x-www-form-urlencoded'表单。您需要一个单独的模块来处理multipart/form-data
表单,例如multer
。