Node JS在rest api响应中返回图像

ali*_*d23 4 rest node.js express postman

在获取用户信息的其余api调用中,我想返回用户信息和图像.任何人都可以告诉如何返回图像以及节点js中的信息.另外我如何看到像邮递员这样在Web客户端中返回的信息.

vod*_*095 11

如果要将图像作为二进制数据发送,则可以使用内置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!');
    }
});
Run Code Online (Sandbox Code Playgroud)