У меня есть этот дизайн:
Front end => Middle layer service => Micro service
Я хочу создать uploadFile
вызов. Если я иду по этому пути Front end => Micro service
, то мой вызов работает совершенно нормально (он загружает файл правильно), но когда я иду по указанному выше пути, он не работает.
Внешний интерфейс:
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
resolve(xmlHttp.responseText);
}
}
var data = new FormData();
data.append('file', event.target.files[0]);
xmlHttp.open('POST', '.../utUploadFile');
xmlHttp.send(data);
Микро сервис:
app.post('/utUploadFile', async (request, response, next) => {
const form = new formidable.IncomingForm();
form.parse(request, async function (err, fields, files) {
...
});
});
Сервис среднего уровня: (в этом и заключается моя проблема)
const http = require('request');
...
app.post(`/utUploadFile`, (request, response, next) => {
http.post({
headers: {'content-type': 'multipart/form-data'},
url: `.../utUploadFile`,
body: JSON.stringify(request.body)
}, (err, res, body) => {
});
});
Я не знаю, какими должны быть настройки, но яЯ уверен, что это связано с content-type
и / или body: JSON.stringify(request.body)