Estoy enviando valores de datos de formulario usando Postman como se indica aquí. Solicitud de cartero . Estoy utilizando el servidor NodeJS en el backend para obtener los datos de esta solicitud POST.
El código para mi archivo app.js se proporciona a continuación.
require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const port = process.env.PORT || 8080;
const app = express();
app.use(bodyParser.json({
limit: '50mb',
}));
app.use(bodyParser.urlencoded({
limit: '50mb',
extended: true
}));
const { multerUploadOneFile } = require(path.resolve(__dirname, 'helpers', 'multerConfig'));
app.post('/upload', function (req, res) {
// **Here I need to get the other parameters in the request body, ie ```userId```, ```fileType```
console.log(req.body);
multerUploadOneFile(req, res, function (error) {
if (error) {
return res.status(401).send({
status: 'failure',
message: error.message
});
}
return res.status(200).send({
status: 'success',
message: 'successfully uploaded file.',
});
})
});
Estoy registrando el cuerpo de la solicitud en /upload api endpoint pero no puedo obtener nada. Por favor, hágame saber cómo puedo obtener el req.body en la devolución de llamada del punto final de /upload api.
body-parser no admite cuerpos de varias partes.
multer (que está utilizando correctamente), sin embargo, debe ejecutar y analizar la solicitud antes de que pueda acceder a cualquier cosa.
multerUploadOneFile debe ejecutarse antes de tener acceso a .body o .file .
app.post('/upload', function (req, res) {
multerUploadOneFile(req, res, function (error) {
console.log(req.body, req.file);