繁体   English   中英

如何在 API 中插入图像?

[英]How can I insert an image in API?

我写了非常简单的 API 和 node.js,我想在前端可以访问的对象中插入图像,有人知道该怎么做吗?

如果要将图像作为二进制数据发送,可以使用 res.sendFile function。

下面是一个示例,它检查 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 中的信息创建一个 object 并将其插入前端,您需要做的是:

const fs = require('fs');

let buff = fs.readFileSync('/someImageUrlOnlyForAuthorizedUsers.jpg',{encoding: 'base64'});
let base64data = buff.toString('base64')

然后你可以在 api 中返回这个 object ,一旦你在前端捕获它,我会给你看一个例子:

<img src="data:image/png;base64,"+base64data">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM