下载图像并使用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) } });