显示 html 文件中 MongoDb 中存储的图像
Display Images stored in MongoDb in html file
我正在使用 Node.js + mongoose + EJS 作为视图引擎。
我已经成功地制作了一个简单的发送命令,使用这个指南在服务器端检索和发送这个图像:
Setup file uploading in an Express.js application using Multer.js
store/display an image in mongodb using mongoose/express
student.findOne({
'username': req.body.student_username
}, function(err, result) {
result.img.data = fs.readFileSync(req.file.path);
result.img.contentType = 'image/png';
result.save();
res.contentType(result.img.contentType);
res.send(result.img.data);
})
但是,我正在努力寻找有关如何呈现页面并将图像放入 html 的指南。
我正在使用 EJS 视图引擎。
欢迎任何快速示例或提示。
按学生用户名显示图片:
routes/profile.js:
var userSchema = new Schema({
username: String,
img: { data: Buffer, contentType: String }
});
var User = mongoose.model('User', userSchema);
// Get profile picture
router.get('/profile/:userId/picture', function(req,res,next) {
User.findById( req.params.userId function(err,user) {
if (err) return next(err);
res.contentType(user.img.contentType);
res.send(user.img.data);
});
});
// Get profile
router.get('/profile/:username', function(req,res,next) {
User.findOne(
{'username': req.params.username},
function(err, result) {
if (err) return next(err);
res.render('profile', {
username: result.username,
userid: result.id
});
});
});
view/profile.ejs:
<html><body>
<h1><%= username %></h1>
<img src='/profile/<%= userid %>/picture' />
</body></html>
我正在使用 Node.js + mongoose + EJS 作为视图引擎。
我已经成功地制作了一个简单的发送命令,使用这个指南在服务器端检索和发送这个图像:
Setup file uploading in an Express.js application using Multer.js
store/display an image in mongodb using mongoose/express
student.findOne({
'username': req.body.student_username
}, function(err, result) {
result.img.data = fs.readFileSync(req.file.path);
result.img.contentType = 'image/png';
result.save();
res.contentType(result.img.contentType);
res.send(result.img.data);
})
但是,我正在努力寻找有关如何呈现页面并将图像放入 html 的指南。 我正在使用 EJS 视图引擎。 欢迎任何快速示例或提示。
按学生用户名显示图片:
routes/profile.js:
var userSchema = new Schema({
username: String,
img: { data: Buffer, contentType: String }
});
var User = mongoose.model('User', userSchema);
// Get profile picture
router.get('/profile/:userId/picture', function(req,res,next) {
User.findById( req.params.userId function(err,user) {
if (err) return next(err);
res.contentType(user.img.contentType);
res.send(user.img.data);
});
});
// Get profile
router.get('/profile/:username', function(req,res,next) {
User.findOne(
{'username': req.params.username},
function(err, result) {
if (err) return next(err);
res.render('profile', {
username: result.username,
userid: result.id
});
});
});
view/profile.ejs:
<html><body>
<h1><%= username %></h1>
<img src='/profile/<%= userid %>/picture' />
</body></html>