2016-06-25 2 views
1

Node.js + mongoose + EJS를 뷰 엔진으로 사용하고 있습니다. 난에 어려움을 겪고 있어요, 그러나이미지를 MongoDb에 html 파일로 저장합니다.

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

:

는 내가 검색 간단한 send 명령을하고이 가이드를 사용하여 서버 측에서이 이미지를 보내 관리해야 어떻게 페이지를 렌더링하고 html 안에 이미지를 넣을 수 있는지에 대한 지침을 찾으십시오. EJS 뷰 엔진을 사용하고 있습니다. 빠른 예 또는 팁을 환영합니다. 학생 사용자 이름으로

답변

1

쇼 사진 :

노선/ 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 
     }); 
    }); 
}); 

보기/profile.ejs :

<html><body> 
    <h1><%= username %></h1> 
    <img src='/profile/<%= userid %>/picture' /> 
</body></html> 
관련 문제