Предположим, я отправляю файл, который содержит как строковые поля, так и прикрепленное изображение. Вот как я делаю это во внешнем интерфейсе:
const formData = new FormData();
formData.append('title', postData.title);
formData.append('content', postData.content);
formData.append('image', postData.image);
И это моя конфигурация промежуточного программного обеспечения в Express:
app.use(bodyParser.json());
app.use(
multer({ storage: fileStorage, fileFilter }).single('image')
);
app.use('/images', express.static(path.join(__dirname, 'images')));
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
Итак, кто именно разбирает строковые поля ? Если бы я прикрепил объект JSON к FormData, как bodyparser. json () знал бы, где найти данные JSON и что игнорировать, потому что это файл?