使用请求模块并将主体传递给下一个请求

问题描述 投票:0回答:1

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

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

然后,我想使用主体传递给使用多部分形式的api并发送该图像(该图像现在位于主体中)。我不想将文件写入磁盘,然后再次从磁盘读取流。我基本上想通过使用正文的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)}

它可以工作,但是我不能使用磁盘,因此需要另一种方法将主体作为多部分表单数据传递到下一个帖子。

有什么想法吗?

node.js request multipartform-data form-data
1个回答
0
投票

POC:

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);
    }
);

© www.soinside.com 2019 - 2024. All rights reserved.