我正在尝试使用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/

10-15 04:09