Node.js RESTAPI响应中的节点JS返回图像

Node.js RESTAPI响应中的节点JS返回图像,node.js,rest,express,postman,Node.js,Rest,Express,Postman,在getuserinformation的restapi调用中,我希望返回用户信息和图像。任何人都可以告诉如何返回节点js中的图像和信息。还有如何查看web客户端(如postman)中返回的信息。如果要将图像作为二进制数据发送,可以使用内置函数 如果希望此映像仅对当前用户可用,则可以使用授权框架,例如,甚至是高级框架,例如,包含所有内容 下面是一个示例,它检查req.user是否存在,然后发送带有指向图像或图像本身链接的JSON。 如果图像较小,则最好发送编码版本 app.get('/info',

在getuserinformation的restapi调用中,我希望返回用户信息和图像。任何人都可以告诉如何返回节点js中的图像和信息。还有如何查看web客户端(如postman)中返回的信息。

如果要将图像作为二进制数据发送,可以使用内置函数

如果希望此映像仅对当前用户可用,则可以使用授权框架,例如,甚至是高级框架,例如,包含所有内容

下面是一个示例,它检查
req.user
是否存在,然后发送带有指向图像或图像本身链接的
JSON
。 如果图像较小,则最好发送编码版本

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

谢谢,但是如果我发送图像的直接url,那么任何人都可以访问该图像,这可能会造成安全威胁。我已经扩展了我的回答,这听起来是个好主意。还有一件事我可以同时发送json响应和文件。我的意思是我想返回用户信息和用户的图片,可以用相同的回答吗?是的。若用户的头像很小,你们可以使用base64对其进行编码,并将其作为—参见