2017-03-02 132 views
1

是的,我在Nodejs中做过,但我不能在PhantomJS中。phantomjs:保存一个base64字符串作为文件(PNG)

imgContent = '...base64...string'; 
imgContent = imgContent.replace(/^data:image\/png;base64,/, ""); 
chart_path = "/charts.png"; 

fs.write(chart_path, new Buffer(imgContent, 'base64'), 'w'); 

错误消息:

的ReferenceError:找不到变量:缓冲区

+0

PhantomJs不支持Buffer对象。请记住,PhantomJS不是node.js.它是谷歌Chrome浏览器JavaScript的一些(但不是全部)node.js功能。 – slebetman

+0

奇怪的是,它既不是谷歌浏览器,也不是node.js javascript。 – Vaviloff

+0

关键是:如何做到这一点?我个人以另一种方式解决了这个问题。但是如果可能的话,我想用一个干净的解决方案。 –

回答

0

我不知道是不是最好的解决办法,但它为我工作得很好。

// ... 

fs.write(chart_path, atob(imgContent), 'b'); 

Phantomjs version 2.1.1。

相关问题