Как отправить данные изображения буфера из узла js в шаблон ejs

Я практикую загрузку и извлечение изображений из базы данных с помощью node 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) %>"> }. Может кто подскажет как это сделать ??


person Tirlochan Arora    schedule 15.09.2020    source источник


Ответы (1)


Вероятно, вам следует сопоставить буфер avatar со строкой в ​​кодировке base64 и передать ее в шаблон ejs:

app.get('/images', async (req, res) => {
    const img = await image().find({});
    img.avatar = Buffer.from(img.avatar).toString('base64');
    res.render('image', {img});
});
person eol    schedule 15.09.2020