MongoDBから画像を取得して表示するための良い方法を探しています。たとえば、プロフィール写真を取得してプロフィールページに表示するには、次のようにします。
自己紹介ページ
block content
h1= session.user.name
img(src='/avatars')
ルート
exports.avatars = (req, res) ->
users.find req.session.user, (err, user) ->
if user
res.writeHead('200', {'Content-Type': 'image/png'})
res.end(user.avatar.data, 'binary')
else
res.locals.flash = err
res.render('index', {title: 'Home'})
基本的に私はプロファイルページをレンダリングし、img
タグはデータベースからユーザーの写真を取得するためにサーバーにリクエストを送り返します。画像をBinDataとしてMongoDBに保存しています。GridFS
写真が小さいと思いますので 使用しません。
これを行うためのより良い方法はありますか?を使用して画像データを直接ヒスイビューに送信しようとしましたres.render('users/show', {picture: data})
が、img
タグがそれを気に入らなかったため、理由がわかりません。このアプローチは行き止まりですか?
コメント/提案をいただければ幸いです。ありがとう!