web-dev-qa-db-ja.com

JadeとNodeJSを使用して画像を挿入

通過したオブジェクトを使用して画像内で翡翠を作成するにはどうすればよいですか。また、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}
_

そして、私がやろうとしているのは、実際のimg(src='')内の_#{row.Image}_をソースとして使用することです。

ソース内で使用するには、他の構文などを使用する必要があるようです。これを挿入するだけでは機能しません。

7
brent

img(src= "http://" + row.Image)を実行するだけです

Jadeは、src属性値をjavascript式として扱い、それを評価して、期待どおりにHTMLをレンダリングします。

11
Peter Lyons

リンクを送信している場合は、うまくいく可能性がありますが、詳細に説明されています。データをbase64でエンコードされた文字列として送信する場合は、画像データの前に次の情報を追加する必要があります。

"data:image/png; base64、"

したがって、次のようになります:img(src = "data:image/png; base64、" + row.ImageDataBase64)

0
Greg S

同様の問題がありました。私のURLにはすでにhttps://が付加されていました。うまくいった解決策は次のとおりです。

img(src=row.Image)
0
kjonsson