4
在其餘的API調用獲取用戶信息我想返回用戶信息與圖像。任何人都可以請告訴如何將圖像與節點js中的信息一起返回。另外我怎麼能看到像郵遞員一樣在Web客戶端返回的信息。節點JS返回圖像在休息API響應
在其餘的API調用獲取用戶信息我想返回用戶信息與圖像。任何人都可以請告訴如何將圖像與節點js中的信息一起返回。另外我怎麼能看到像郵遞員一樣在Web客戶端返回的信息。節點JS返回圖像在休息API響應
如果要將圖像作爲二進制數據發送,可以使用內置的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!');
}
});
謝謝,但如果我發送圖像的直接url,那麼可能存在任何人都可以訪問該圖像的安全威脅。 – alihsyed23
我擴大了我的答案 – vodolaz095
這聽起來像個好主意。還有一件事我可以同時發送json響應和文件。我的意思是我想要返回用戶信息,並且用戶的圖片可以用相同的響應來完成。 – alihsyed23