下载图像并使用multipart / form-data将其发送到API

时间:2015-07-01 18:17:31

标签: node.js image request

我正在尝试使用multipart/form-data将图像从互联网发送到API。

我可以使用request.pipe(fs.createWriteStream)将图片保存在临时文件夹中,然后使用fs.createReadStream上传

但是如何在不将其保存在临时文件夹中的情况下执行此操作?

我尝试创建新的request并将正文作为new Buffer发送,但无法正常工作。

额外信息:

我正在实施Telegram Bot API方法sendPhoto: https://core.telegram.org/bots/api#sendphoto

我正在使用请求模块进行集成: https://github.com/request/request

感谢。

2 个答案:

答案 0 :(得分:2)

使用请求节点库,您groupfrequency中设置encoding: null。所以二进制内容存储在一个对象(Buffer)中。

要使用can get binary content from the resource发送照片,您将执行以下操作:

requestSettings

答案 1 :(得分:0)

我有同样的问题,我使用请求承诺库

解决了下一个代码
    const rp = require('request-promise');

    const req = {
        'url': 'https://store.server.com',
        'json': true,
        'resolveWithFullResponse': true
    };

    req['formData'] = {
        media: rp.get('https://videourl.com')
    };
    return rp.post(req)
        .then(response => return response)
        .catch(error => return throw error);