【问题标题】:Is it possible to render binary images data store in mongoDB to handlebars template?是否可以将 mongoDB 中的二进制图像数据存储渲染到车把模板?
【发布时间】:2020-02-04 06:36:25
【问题描述】:

我正在寻求帮助。我正在使用 nodejs、mongoDB 和车把模板创建一个画廊应用程序来显示画廊。一切都很好,直到我在我的 mongoDB 中找到所有图像(存储为二进制数据)并尝试在我的车把模板中呈现。我正在尝试这个:

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}); 
});

模板.hbs

    {{#each pics}}
        <div class="row"> 
           <img src='????'> 
            </div> 
    {{/each}}

在哪里????是我的大问题,我不知道放在那里的代码是什么,或者我是否使用了正确的方法。 请帮忙。我是新人

【问题讨论】:

    标签: node.js mongodb image binary handlebars.js


    【解决方案1】:

    如果您要存储二进制文件,当然可以将其添加到 src,但您应该像这样考虑与二进制文件关联的元数据:

    <img src="data:image/png;base64,...">
    

    注意: 顺便说一句,这是一种不好的做法,无论如何,您都不应该将图像保存在数据库中,您可以使用 aws s3 之类的外部服务并将图像上传到那里并存储它们的 Uri,它们有很多原因这是最大的一个,它会花费你很多钱-_-

    【讨论】:

    • 很遗憾。我几乎使用这种方法完成了我的应用程序,但考虑到您的评论,我转向了云端选项以实现我的目标。
    • 太棒了 ^_^,记住没有什么是浪费的,当我们在某些事情上失败时,我们会学习,当我们成功时,我们会进步
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 2014-08-17
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多