如何parsingNode中的数据URL?

我有这样的数据url:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA... 

什么是最简单的方法来获得这个二进制数据(比如,一个Buffer ),所以我可以把它写到一个文件?

用“base64”编码将数据放入缓冲区,然后将其写入文件:

 var fs = require('fs'); var string = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; var regex = /^data:.+\/(.+);base64,(.*)$/; var matches = string.match(regex); var ext = matches[1]; var data = matches[2]; var buffer = new Buffer(data, 'base64'); fs.writeFileSync('data.' + ext, buffer); 

尝试这个

 var dataUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; var buffer = new Buffer(dataUrl.split(",")[1], 'base64'); 

我最近遇到了这样的问题(parsing和validation数据URL),发现了以下解决方法: https : //gist.github.com/bgrins/6194623

我创build了2个包,使代码中的数据URL更容易处理。 这里是: https : //github.com/killmenot/valid-data-url
https://github.com/killmenot/parse-data-url

检查示例