[英]express-handlebars wont render data but renders template for the data
[英]Is it possible to render binary images data store in mongoDB to handlebars template?
我正在寻求帮助。 我正在使用 nodejs、mongoDB 和车把模板创建一个画廊应用程序来显示画廊。 一切都很顺利,直到我在 mongoDB(存储为二进制数据)中找到所有图像并尝试在我的车把模板中渲染。 我正在尝试这个:
路由.js
router.get('/gallery', async (req, res) =>{
const pics = await Img.find();
console.log(pics); // No problems showing images as binary data and all fields in the Schema
res.render('images/gallery.hbs', {pics});
});
模板.hbs
{{#each pics}}
<div class="row">
<img src='????'>
</div>
{{/each}}
在哪里???? 是我的大问题,我不知道放在那里的代码是什么,或者我是否使用了正确的方法。 请帮忙。 我对此较新
如果您要存储二进制文件,当然可以将其添加到src
中,但您应该考虑与二进制文件关联的元数据,如下所示:
<img src="data:image/png;base64,...">
注意:顺便说一句,这是一种不好的做法,无论如何您都不应该将图像保存在数据库中,您可以使用 aws s3 之类的外部服务并将图像上传到那里并存储它们的 Uri,它们很多这是最大的原因,它会花费你很多钱-_-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.