2017-03-02 74 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。

相關問題