我正在寻找帮助。我正在使用nodejs,mongoDB和handlebars模板创建画廊应用程序以显示画廊。一切正常,直到我在mongoDB中找到了所有图像(存储为Binary Data)并尝试在车把模板中进行渲染。我正在尝试:
routes.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});
});
template.hbs
{{#each pics}}
<div class="row">
<img src='????'>
</div>
{{/each}}
在哪里?是我的大问题,我不知道该在哪里放什么代码,或者我使用的是正确的方法。
请帮助。我在这方面比较新
最佳答案
如果要存储二进制文件,则可以将其添加到src
中,但是您应该考虑与二进制文件关联的元数据,如下所示:
<img src="data:image/png;base64,...">
注意:
顺便说一句,这是一种不好的做法,无论如何都不要将映像保存在DB上,可以使用aws s3之类的外部服务并将映像上载到其中并存储其Uri,这是很多原因造成的。这是最大的一个,它将花费您很多钱-_-