В форме (написана на ReactJS) формирую поля для отправки запроса:
const formData = new FormData();
formData.append('name', this.state.name);
formData.append('quantity', this.state.quantity);
formData.append('code', this.state.code);
formData.append('images', this.images);
addSku(formData);
Затем передаю на сервер:
export function addSku(sku) {
console.log('sku', sku.get('images')); // sku [object File]
return new Promise((resolve, reject) => {
fetch('/api/sku', {
method: 'POST',
credentials: 'same-origin',
body: sku
})
.then(res => res.json(res))
.then(json => resolve(json))
.catch(err => reject(err));
});
}
На сервере ловлю поле:
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
app.post('/', upload.single('images'), (req, res) => {
console.log('req.file', req.file); // undefined
console.log('req.files', req.files); // undefined
console.log('req.body', req.body); // { name: '', quantity: '0', code: '', images: '[object File]' }
console.log(req.headers['content-type']); // multipart/form-data; boundary=----WebKitFormBoundaryFwa3zhYAN8cJcU5g
});
Согласно
документации в req должно появиться поле file или files. Их нет. Директория uploads/ создается.
Никаких ошибок нет, но файл в директории не появляется.