【问题标题】:convert a base64 image string to a image file that can be served to browsers using node.js将 base64 图像字符串转换为可以使用 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 如果您找到解决方案,请告诉我们您的解决方案来帮助我们。我遇到了和你一样的问题...谢谢...

标签: image node.js cross-browser png base64


【解决方案1】:

使用data URI syntax,这意味着您必须在响应前加上数据协议和MIME类型,并指定base64编码:

res.write("data:image/png;base64,"+decodedBuffer);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 2014-07-21
    • 2014-09-14
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    相关资源
    最近更新 更多