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

我试图从互联网发送图像到一个API使用multipart/form-data

我能够通过使用request.pipe(fs.createWriteStream)将图像保存在临时文件夹中,并使用fs.createReadStream

但是,我怎么能做到这一点,而不保存在临时文件夹?

我试图创build一个新的request并发送身体作为一个new Buffer但没有奏效。

额外的信息:

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

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

谢谢。

使用请求节点库,您可以从 requestSettings 的资源设置encoding: null 获得二进制内容 encoding: null 。 所以二进制内容被存储在内存中的一个对象(Buffer)。

要使用node-telegram-bot发送照片,您将执行以下操作:

 var TelegramBot = require('node-telegram-bot-api'); var bot = new TelegramBot(token); var requestSettings = { url: 'http://httpbin.org/image', encoding: null }; request(requestSettings, function (error, response, buffer) { if (!error && response.statusCode == 200) { bot.sendPhoto(chatId, buffer) } });