Node.js如何在服务之间传递多部分/表单数据

时间:2019-10-01 08:23:28

标签: node.js multipartform-data

我有这样的设计:

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)

有关

0 个答案:

没有答案