我正在练习使用节点js从数据库上载和获取图像。上载部分执行得很好,但是获取部分出现了一些问题,获取图像的代码为app.get('/images', async (req, res) => { const img = await image(image is the model with type of buffer).find({}); res.render('image', { img }) }
。 ejs模板部分为<% img.forEach(i => { <img src="data:img/png;base64,<%= i.avatar(avatar is property on the image model) %>"> }
。
有人可以告诉我怎么做吗?
答案 0 :(得分:0)
您可能应该将avatar
缓冲区映射到一个base64
编码的字符串,并将其传递给ejs-template:
app.get('/images', async (req, res) => {
const img = await image().find({});
img.avatar = Buffer.from(img.avatar).toString('base64');
res.render('image', {img});
});