Нашел решение:
let formData = new FormData();
let config = {
header: {'content-type': 'multypart/form-data'}
}
//смысл цикла - пройтись по postData (см. код в самом вопросе) и для каждого
//значения (category, title) выполнить
//formData.append( key (например category), postData[key] (значение) );
for (let key in postData) {
//для картинок сделать тоже самое только с одним ключом "images"
if(key === 'images') {
for (let key in postData['images']) {
formData.append('images', postData['images'][key]);
}
} else {
formData.append(key, postData[key]);
}
}
axios.post('/admin/create-product', formData, config)
Затем, чтобы корректно обработать это все на node сервере пишем код:
//код для настройки сервера на node js и express см. в интернете
//подключаем multer
const multer = require('multer');
const uploads = multer({dest:'uploads/'});
app.use(uploads.any());
//используем express router - как пользоваться см. в интернете
router.post('/admin/create-product', (req, res, next) => {
console.log('req.files', req.files);
console.log('req.body', req.body);
}