Mon serveur Node.js a quelque chose qui ressemble à ceci:
app.get("/api/id/:w", function(req, res) {
var data = getIcon(req.params.w);
});
Ici, data
est une chaîne contenant une représentation Base64 d'une image PNG. Est-il possible de l'envoyer à un client accédant à la route codée et affichée sous forme d'image (par exemple, pour que l'URL puisse être utilisée dans une balise img
)?
Oui, vous pouvez encoder votre chaîne base64 et la renvoyer au client sous forme d'image:
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);
});
J'ai dû faire quelques manipulations pour obtenir le mien dans le bon format, mais cela a très bien fonctionné:
var base64Data = data.replace(/^data:image\/png;base64,/, '');