gpt4 book ai didi

javascript - 在multer上传文件之前如何获取正文?

转载 作者:行者123 更新时间:2023-11-30 11:43:53 25 4
gpt4 key购买 nike

在我的项目中,管理员可以上传 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com