在获取用户信息的其余api调用中,我想返回用户信息和图像。任何人都可以告诉如何返回图像以及节点js中的信息。另外我如何看到像邮递员这样在Web客户端中返回的信息。
答案 0 :(得分:10)
如果要将图像作为二进制数据发送,可以使用内置的res.sendFile
函数。
如果您希望此图片仅供当前用户使用,您可以使用passportjs之类的授权框架,甚至包括所有内容的huntjs等高级框架。
以下示例检查req.user
是否存在,然后向JSON
发送带有图像链接或图像本身的链接。
如果图片很小,最好发送base64编码版本。
app.get('/info', function(req,res){
if(req.user){
res.status(200).json({
'imageName':'some image',
'imageUrl':'/someImageUrlOnlyForAuthorizedUsers.jpg'
});
} else {
res.status(401).send('Authorization required!');
}
});
app.get('/someImageUrlOnlyForAuthorizedUsers.jpg', function(req,res){
if(req.user){
res.sendFile('./mySecretImage.jpg');
} else {
res.status(401).send('Authorization required!');
}
});