将 base64 图像字符串转换为可以使用 node.js 提供给浏览器的图像文件
Posted
技术标签:
【中文标题】将 base64 图像字符串转换为可以使用 node.js 提供给浏览器的图像文件【英文标题】:convert a base64 image string to a image file that can be served to browsers using node.js 【发布时间】:2011-09-13 19:50:35 【问题描述】:问题与 Restify 不接受 HTTP ACCEPT 标头有关,图像渲染代码很好。
我有一个编码为 base64 字符串的图像,我想使用 node.js 将其用作图像。目前我有以下代码(我正在使用 Restify),它可以在 Chrome 中呈现图像,但图像不会在其他浏览器中呈现(尝试过 IE9、Firefox 4、android 浏览器):
var decodedBuffer = new Buffer(dataString,"base64");
res.send(
code: 200,
headers: 'Content-Type': 'image/png', 'Content-Length': decodedBuffer.length,
noEnd: true
);
res.write(decodedBuffer);
res.end();
谁能解释我可能做错了什么??
谢谢
【问题讨论】:
你从服务器得到什么数据?尝试 curl/wget 图像并在图像编辑器中打开它。是png吗? @Andy Britcliffe 如果您找到解决方案,请告诉我们您的解决方案来帮助我们。我遇到了和你一样的问题...谢谢... 【参考方案1】:使用data URI syntax,这意味着您必须在响应前加上数据协议和MIME类型,并指定base64编码:
res.write("data:image/png;base64,"+decodedBuffer);
【讨论】:
以上是关于将 base64 图像字符串转换为可以使用 node.js 提供给浏览器的图像文件的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用 Phonegap 将图像转换为 Base64 字符串
react-native-camera 将图像 base64 转换为 jpeg