Hyd*_*mal 17 javascript base64 image node.js express
我的Node.js服务器有如下内容:
app.get("/api/id/:w", function(req, res) {
var data = getIcon(req.params.w);
});
Run Code Online (Sandbox Code Playgroud)
这data
是一个包含PNG图像的Base64表示的字符串.有没有什么办法可以将它发送给访问编码和显示为图像的路由的客户端(例如,URL可以用在img
标签中)?
Ben*_*ant 51
是的,您可以编码base64字符串并将其作为图像返回到客户端:
server.get("/api/id/:w", function(req, res) {
var data = getIcon(req.params.w);
var img = new Buffer(data, 'base64');
res.writeHead(200, {
'Content-Type': 'image/png',
'Content-Length': img.length
});
res.end(img);
});
Run Code Online (Sandbox Code Playgroud)
为了使我的格式正确,我必须首先进行一些操作,但是效果很好:
var base64Data = data.replace(/^data:image\/png;base64,/, '');
Run Code Online (Sandbox Code Playgroud)
使用“base64-img”组件:
app.get('/image1', function(req, res) {
var image1 = 'image1.jpg';
var base64Img = require('base64-img');
var imageData1 = base64Img.base64Sync(image1);
var base64Data = imageData1.replace(/^data:image\/(png|jpeg|jpg);base64,/, '');
var img = Buffer.from(base64Data, 'base64');
res.writeHead(200, {
'Content-Type': 'image/png',
'Content-Length': img.length
});
res.end(img);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22875 次 |
最近记录: |