我正在尝试使用hapijs向用户提供base64图像,不知道为什么下面的代码行不通,有什么建议吗?
server.route({
method: 'GET',
path: '/image',
handler: function (request, reply) {
var b64str="data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwH...";
var buf = new Buffer(b64str, 'base64');
reply(buf).bytes(buf.length).header('Content-type', 'image/gif');
}
});
最佳答案
首先,您需要从字符串中删除“ data:image / gif; base64”。
其次,如果您使用的是hapi v17:
server.route({
method: 'GET',
path: '/image',
handler: function (req, h) {
const b64str= 'R0lGODlhPQBEAPeoAJosM//AwO/AwH...';
const buf = Buffer.from(b64str, 'base64');
return h.response(buf).type('image/png').bytes(buf.length).code(200);
}
});
记住:
new Buffer(array) is deprecated,请改用Buffer.from(array)。
关于javascript - Hapijs服务base64图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42523330/