使用Node的请求模块通过REST API上传文件

时间:2017-08-17 15:17:13

标签: node.js

我正在使用请求模块与其余API进行通信。

到目前为止,一切都很完美,现在我在上传文件方面遇到了问题。

这是我的代码:

    var url = "www.targetsite.com";
    var options = {
        method: 'post',
        json: true,
        body: {
            parameter: 'param'
        },
        formData: {
            file: fs.createReadStream("pic.jpg");
        }
    }

    request(url, options, function(err, res, res_body){
         console.log(err);
         ...
    }

我收到错误错误:写完后

如果我从选项中删除“json”和“body”,它会发出请求,并从另一方返回错误(缺少参数)。

那么,如何在同一个电话中同时发送“正文”和上传文件?

1 个答案:

答案 0 :(得分:0)

你应该工作得很好

var url = "www.targetsite.com";
var options = {
    parameter: 'param',
    file: fs.createReadStream(__dirname + "/pic.jpg")
}

request.post({url: url, formData: options}, function (err, httpResponse, body) {
  // done
});