我正在寻找帮助。我正在使用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,这是很多原因造成的。这是最大的一个,它将花费您很多钱-_-

10-08 02:53