使用请求模块并将正文传递给下一个请求

Using request module and passing the body to the next request

我正在使用请求获取图像:

request(req.body.imageUrl, {encoding: null}, function(error, response, body) {

然后我想使用正文传递给使用多部分表单的 api 并发送该图像(现在在正文中)。我不想将文件写入磁盘,然后再次从磁盘读取流。基本上想通过body的Buffer进入下一个请求的formData,但是不行

因此,对于下一个请求中的选项,我有:

const options = {
                method: "POST",
                url: coreURL,
                headers: {
                    "Content-Type": "multipart/form-data"
                },
                formData : {
                    file : new Buffer.from(body,'binary')
                }
            };

如果我将正文写入文件,这不起作用 fs.writeFileSync(fileName, body, 'binary');

然后读入选项formData : { file : fs.createReadStream(fileName)}

它可以工作,但我不能使用磁盘,所以需要另一种方法将正文作为多部分表单数据传递到下一个 post。

有什么想法吗?

概念验证:

let request = require('request');

request.post({
        url: "http://httpbin.org/anything",
        formData: {
            myfile: request.get("https://www.gravatar.com/avatar/f056d36f9e273fd4740ec8a5cea1348a"),
        }
    },
    function (err, req, body) {
        console.log(body);
    }
);