Node js Form-data как промежуточное ПО

Я использую экспресс-сервер nodejs в качестве промежуточного программного обеспечения для своего приложения, из внешнего интерфейса (реакции) я создаю данные формы, и они достигают nodeJS.

В Node JS я использую multer для анализа этих данных формы, но мне нужно сделать почтовый запрос от узла JS на мой внешний сервер с построенными данными формы.

Я попытался передать объект multer, а также создать данные формы в своем nodeJS.

Мой код Node JS выглядит следующим образом:

 const multer = require('multer');
const upload = multer();

app.post('/api/sendFilesToServer',upload.fields([]), function (req, res) { 
const payload = req.body; 

console.log("files", payload.files[0]); 
console.log("metadata", payload.metadata); 

let formdata = new FormData(); 

//formdata.append("metadata",payload.metadata) 
formdata.append("metadata",'{"operationType":"Bulk","supportingDocuments":{"documents":[{"type":"photo","document":"Screenshot (1).png"}]}}')

formdata.append("files",payload.files[0]) 

axios({ 
method: 'POST', 
data: formdata,
url: `${url}/uploadFiles`, 
headers: headersPayload 
}).then(function (response) { 
console.log("Reponse form",req.body) 
console.log("RESPONSE") 
res.status(response.status).send(response.data); 
}).catch(function (error) { 
console.log("Reponse form ERROR",req.body) 
console.log("ERROR",error.response.data.message) 
res.status(error.response.status).send(error.response.data.message) 
});

Я пробовал все и пытался найти все сообщения в stackoverflow, но до сих пор не знаю, как это решить.

Спасибо за помощь, НМ


person nelsonmendes    schedule 06.06.2018    source источник


Ответы (1)


Вы пробовали запросить? https://www.npmjs.com/package/request

import request from 'request'
request.post({
url: `${url}/uploadFiles`, 
headers: headersPayload,
form: formdata,
}, (err, response, body) => {

})
person Alvaro Molina    schedule 06.06.2018
comment
Я уже пробовал, все равно безуспешно. если я напечатаю multer req.body, он покажет мне файлы и именно ту структуру, которая мне нужна, и если я просто вставлю эту строку в запрос, это не сработает. - person nelsonmendes; 06.06.2018