Приложение.js
app.use(express.json({limit:"30mb",extended:true}));
app.use(express.urlencoded({extended:true}));
маршрут.js
router.route("/register").post(registerUser)`
импорт маршрутов в app.js
import userRoute from './routes/user.route.js';
app.use("/users",userRoute);
const {fullName,email,username,password} = req.body;
console.info("req.body: ",req.body);
выход:
req.body: {}
Error: All input is required
Я пытаюсь зарегистрировать пользователя с файлами, но req.body пуст, если я пытаюсь использовать обычную форму в почтальоне, но если я пытаюсь использовать x-www-form-urlencoded, это работает, но я не могу загрузить туда файл
В файле Route.js
router.post("/register", (req, res) => {
const {fullName, email, username, password} = req.body;
console.info("req.body: ",req.body);
});
Используя этот код. Я думаю, это решит вашу проблему.
Если ничего не произошло, проверьте отправку сообщения в сети браузера.
забыл использовать промежуточное программное обеспечение multer в маршруте, теперь оно работает
router.route("/register").post(upload.single("profilePic"),registerUser);
Похоже, они используют один и тот же код, но не уверен, поможет ли это.
В почтальоне вам нужно использовать либо
x-www-form-urlencoded
, либоmultipart/form-data
(или что-то похожее). Я не уверен, что именно вы подразумеваете под нормальной формой.