req.body пуст для textarea в форме http (с использованием 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?
2 ответа
Попробуйте удалить enctype="multipart/form-data"
часть в форме и посмотреть, если это работает. Я думаю, что серверы интерпретируют данные, отправленные в нескольких частях по-разному.
Я не знаю, понимаю ли я что enctype="multipart/form-data"
делает, но я бы использовал его при загрузке файла из формы и модуля узла multiparty
Для тех, кто сталкивается с этим ответом, если у вас есть enctype="multipart/form-data"
Вы должны использовать промежуточное программное обеспечение, которое может обрабатывать файлы, а body-parser - нет. Популярным вариантом является multer https://www.npmjs.com/package/multer