Javascript http格式的textarea的req.body为空(使用Express)
我使用以下表单让用户上传文件并提交文本:Javascript http格式的textarea的req.body为空(使用Express),javascript,html,http,express,pug,Javascript,Html,Http,Express,Pug,我使用以下表单让用户上传文件并提交文本: form(action='/createpost' enctype="multipart/form-data" method='post' id="imgForm") input(type='file' name='imgPath' size = "60") br textarea(name="postText" form="imgForm") Enter your post text here... br inp
form(action='/createpost' enctype="multipart/form-data" method='post' id="imgForm")
input(type='file' name='imgPath' size = "60")
br
textarea(name="postText" form="imgForm") Enter your post text here...
br
input(type='submit' value="Submit")
当我运行此命令时:
router.post('/createpost', function(req,res){
console.log("POST FORM BODY", req.body.postText);
res.end();
});
我在控制台中得到
未定义的。如何获取textarea内输入的值 尝试删除表单中的enctype=“multipart/form data”
部分,看看它是否有效。我认为服务器对多部分发送的数据的解释是不同的
我不知道我是否理解enctype=“multipart/form data”
的作用,但如果您有enctype=“multipart/form data”
您必须使用能够处理文件的中间件,而主体解析器不能。一个流行的选择是multer,它很有效!谢谢:)我复制了另一个例子中的表单代码,因为我不确定如何让用户上传文件,这是优秀的@prcbass-如果这解决了您的问题,标记为接受答案是正确的做法。可以,在接下来的5分钟内无法接受您的答复:P