我有这样的设计:
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)