web-dev-qa-db-fra.com

Insérer une image en utilisant Jade et NodeJS

Comment puis-je utiliser un objet que je suis passé au jade dans une image, j'utilise également mongodb pour contenir les données.

Actuellement c'est mon code:

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

J'ai donc les noeuds qui passent d'une collection mongodb à jade, Dans Jade, j'ai:

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}

Et ce que j'essaie de faire, c'est d'utiliser #{row.Image} dans la img(src='') réelle comme source.

Il semble que je doive utiliser une autre syntaxe ou quelque chose pour l'utiliser dans la source, le fait de l'insérer ne fonctionnant pas.

7
brent

Il suffit de faire img(src= "http://" + row.Image)

Jade traitera la valeur de l'attribut src comme une expression javascript, l'évaluera et restituera le code HTML comme vous le souhaitiez.

11
Peter Lyons

Tandis que si vous envoyez un lien, cela pourrait fonctionner comme cela a été détaillé. Si vous envoyez les données sous forme de chaîne codée en base64, vous devez ajouter les éléments suivants à vos données d'image:

"data: image/png; base64,"

Ainsi, vous auriez: img (src = "data: image/png; base64," + row.ImageDataBase64)

0
Greg S

J'ai eu un problème similaire. Mon URL avait déjà https: // préfixé. La solution qui a fonctionné était:

img(src=row.Image)
0
kjonsson