如何在 API 中插入图像?
How can I insert an image in API?
我用node.js写了非常简单的API,我想在前端可以访问的对象中插入图像
有人知道怎么做吗?
如果要将图像作为二进制数据发送,可以使用 res.sendFile 函数。
下面的示例检查 req.user 是否存在,然后将带有 link 的 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 中 return 这个对象,一旦你在前端捕获它,我会给你看一个例子:
<img src="data:image/png;base64,"+base64data">
我用node.js写了非常简单的API,我想在前端可以访问的对象中插入图像 有人知道怎么做吗?
如果要将图像作为二进制数据发送,可以使用 res.sendFile 函数。
下面的示例检查 req.user 是否存在,然后将带有 link 的 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 中 return 这个对象,一旦你在前端捕获它,我会给你看一个例子:
<img src="data:image/png;base64,"+base64data">