使用Jade和NodeJS插入图像

时间:2013-08-04 04:16:36

标签: node.js image html-table pug

我如何使用我在图像中传递的对象,我也使用mongodb来保存数据。

目前这是我的代码:

db.collection('blogposts', function(err, collection) {
    if (err) throw err;
    collection.find().toArray(function(err, docs) {
        if (err) throw err;
        res.render('table', { title: 'Blog Posts', tab: "list" , blogposts: docs });
    });
});

所以我让nodejs通过mongodb集合传递给jade, 然后在Jade内我有:

div.span9
    table.table.table-bordered.table-striped.noborder

        each row in blogposts
            tr
                td
                    div.blogtitle #{row.Title}
                    br
                    div.blogheading #{row.Heading}
                    br
                    div.namedate #{row.Namedate}
                    br
                    div.imagetable
                        img(src='')
                    br
                    div.blogposts #{row.Posts}
                    br
                    div.blogtags Tags: #{row.Tags}

我要做的是在实际的#{row.Image}中使用img(src='')作为来源。

似乎我必须使用其他一些语法或其他内容在源代码中使用它,因为只是放入它不起作用。

3 个答案:

答案 0 :(得分:11)

只需img(src= "http://" + row.Image)

Jade会将src属性值视为javascript表达式,对其进行评估并按预期呈现HTML。

答案 1 :(得分:0)

我有类似的问题。我的网址已经加了https://。有效的解决方案是:

img(src=row.Image)

答案 2 :(得分:0)

如果您要发送链接,它可能会按照详细的方式工作。如果要将数据作为base64编码的字符串发送,则必须将以下内容添加到图片数据中:

“数据:图像/ PNG; BASE64,”

所以你会:img(src =“data:image / png; base64,”+ row.ImageDataBase64)