使用multipart / form-data从节点js调用外部api

时间:2018-05-22 11:54:33

标签: node.js

我在节点js中使用request()来调用外部apis。

    if (req.method == 'GET')
    options.qs = req.query;
else
    options.form = req.body;

request(options, function(error, response, body) {
    if (error || [constants.response_codes.success, constants.response_codes.internal_server_error, constants.response_codes.error, constants.response_codes.unauthorized].indexOf(response.statusCode) < 0) return next(true);
    return next(null, { statuscode: response.statusCode, data: response.body });
});

它正在使用req.method GET,POST,PUT和DELETE.But我需要发送multipart / form-data,用于通过节点js.Iam在节点js中使用body-parser从客户端向laravel项目发送文件解析请求。如何通过在节点js中使用request()来发送文件来实现。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

const options = {
    method: "POST",
    url: "Your URL",
    port: 443,
    headers: {
        "Authorization": "Basic " + auth,
        "Content-Type": "multipart/form-data"
    },
    formData : {
        "image" : fs.createReadStream("./images/src.png")
    }
};

request(options, function (err, res, body) {
    if(err) console.log(err);
    console.log(body);
});