【问题标题】:Display image from encoded base64 on pug (jade) using node.js使用 node.js 在 pug (jade) 上显示来自编码 base64 的图像
【发布时间】:2020-06-18 12:57:06
【问题描述】:

如何解码这些数据(我不确定这是什么类型)并显示图像。我使用 pug 作为模板引擎。

这是我需要显示为图像的数据:

/9j/4AAQSkZJRgABAQEAYABgAAD/4QBaRXhpZgAATU0AKgAAAAgABQ ...等等

我在我的 node.js 中尝试了这段代码,但它不起作用

var img = Buffer.from(image).toString('base64');

变量图像来自此响应:

虽然此代码用于将数据传递给 .pug 文件

res.render('getsurveyemployeeimg', {
   surveyId: results[0].surveyId,
   empNo: results[0].empNo,
   empName: employee.result.fullnameEn,
   empImg: img,
   date: created,
   answers: results
});

.pug 文件

img(src="data:image/jpg;base64,#{empImg}")

我总是不断将损坏的图像图标作为输出

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    代码用于将数据传递给 .pug 文件:

    res.render('getsurveyemployeeimg', {
       surveyId: results[0].surveyId,
       empNo: results[0].empNo,
       empName: employee.result.fullnameEn,
       empImg: image,
       date: created,
       answers: results
    });
    

    .pug 文件应如下所示:

    img(src="data:image/jpg;base64," + empImg)
    

    之后,如果empImg 实际包含base64 图像,则一切正常。

    【讨论】:

    • image 变量中包含什么?
    • 这是来自外部 api 的响应
    • 这是一个字符串吗?这个字符串就是正确的图片?
    • 这是api调用返回的随机数和字母,他们说我应该解码它以显示为图像
    • 我好像明白了。您不需要创建buffer,只需将image 传递给empImg
    猜你喜欢
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2013-11-17
    • 2013-04-16
    相关资源
    最近更新 更多