作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,管理员可以上传 MP3 文件并向其提交参数,例如歌曲名称。
我决定使用 multer middleware用于处理 multipart/form-data
。
我的问题是 req.body.gender
总是返回未定义的,因为我必须在 uploadSong
监听器中使用它。我想在性别为零时上传这首歌。
index.ejs
<form method="post" action="/acp" role="publish" enctype="multipart/form-data">
<div class="form-group">
<input type="file" name="song" id="song" accept="audio/mpeg">
</div>
<input type="checkbox" name="gender" checked data-toggle="toggle" data-on="Male" data-off="Female">
</form>
app.js
var uploadSong = upload.single('song');
app.post('/acp', isLoggedIn, function (req, res) {
console.log(req.body.gender); // returns "undefined"
if(req.body.gender == 0) { // returns "undefined"
uploadSong(req, res, function (err) {
if (err) {
res.send('uploaded');
return;
}
res.redirect('/');
});
}
});
最佳答案
(A) 无法使用 multer。
(B) 使用busboy .它使用流来解析表单数据,因此您可以在文件上传之前获取表单元素值,并将字段作为事件提供。
(C) 另一种解决方案(如果您更喜欢使用 multer)是使用 multer,但添加一个 header 以发送参数值以在文件上传之前检查。一旦请求到达服务器, header 就可用。
关于javascript - 在multer上传文件之前如何获取正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41663527/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!