我用 node.js 撰寫了非常簡單的 API,我想在前端可以訪問的物件中插入影像,有人知道該怎么做嗎?
uj5u.com熱心網友回復:
如果要將影像作為二進制資料發送,可以使用 res.sendFile 函式。
下面是一個示例,它檢查 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!');
}
});
如果你想用 base 64 中的資訊創建一個物件并將其插入前端,你需要做的是:
const fs = require('fs');
let buff = fs.readFileSync('/someImageUrlOnlyForAuthorizedUsers.jpg',{encoding: 'base64'});
let base64data = buff.toString('base64')
然后你可以在 api 中回傳這個物件,一旦你在前端捕獲它,我會給你一個例子:
<img src="data:image/png;base64," base64data">
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/442612.html
下一篇:回應不等待異步功能
