req.body http 格式的文本区域为空(使用 Express)
req.body empty for textarea in http form (Using Express)
我有以下表单让用户上传文件并提交文本:
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();
});
我在控制台中得到 undefined
。如何获取 textarea 中输入的值?
尝试删除表单中的 enctype="multipart/form-data"
部分,看看是否有效。我认为服务器以不同方式解释多部分发送的数据。
我不知道我是否理解 enctype="multipart/form-data"
的作用,但我会在从表单和节点模块上传文件时使用它 multiparty
对于遇到此答案的任何人,如果您 enctype="multipart/form-data"
您必须使用可以处理文件的中间件,而 body-parser 不能。一个流行的选项是 multer https://www.npmjs.com/package/multer
我有以下表单让用户上传文件并提交文本:
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();
});
我在控制台中得到 undefined
。如何获取 textarea 中输入的值?
尝试删除表单中的 enctype="multipart/form-data"
部分,看看是否有效。我认为服务器以不同方式解释多部分发送的数据。
我不知道我是否理解 enctype="multipart/form-data"
的作用,但我会在从表单和节点模块上传文件时使用它 multiparty
对于遇到此答案的任何人,如果您 enctype="multipart/form-data"
您必须使用可以处理文件的中间件,而 body-parser 不能。一个流行的选项是 multer https://www.npmjs.com/package/multer