我正在尝试从网络上获取图像,并使用base64对其进行编码。
目前为止,我已经做了这个:
var request = require('request');
var BufferList = require('bufferlist').BufferList;
bl = new BufferList(),
request({uri:'http://tinypng.org/images/example-shrunk-8cadd4c7.png',responseBodyStream: bl}, function (error, response, body)
{
if (!error && response.statusCode == 200)
{
var type = response.headers["content-type"];
var prefix = "data:" + type + ";base64,";
var base64 = new Buffer(bl.toString(), 'binary').toString('base64');
var data = prefix + base64;
console.log(data);
}
});
这似乎非常接近解决方案,但我还不能使它正常工作。它识别了数据类型并输出了这个结果:
data:image/png;base64
然而,缓冲区列表 'bl' 似乎为空。
require('request')
是什么?在文档中找不到它。我只知道它与http/https有关。 - Sebastian vom Meer