【发布时间】:2012-09-22 20:22:57
【问题描述】:
我正在寻找从 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 标签会向服务器发送一个请求,从数据库中获取用户的图片。我将图像保存为 MongoDB 中的 BinData。不使用GridFS,因为我希望图片很小。
有没有更好的方法来做到这一点?我尝试使用res.render('users/show', {picture: data}) 将图像数据直接发送到玉视图,但img 标签不喜欢这样,我不清楚为什么。这种方法是死胡同吗?
任何 cmets/建议将不胜感激。谢谢!
【问题讨论】:
标签: image node.js mongodb pug express