如何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
检查示例
- Node.js Base64图像解码和写入文件
- Uncaught InvalidCharacterError:无法从base64映像转换为blob
- 自动增加Base64 mysql
- 如何在不保存本地的情况下将base64数据转换为可读的图像stream
- NodeJS base64图像编码/解码不太合适
- 如何将base64映像从客户端传输到服务器或从s3存储桶下载binary / base64?
- Angular JS将base64数组发送到NodeJs服务器 – Allow-Access-Control-Origin
- Java到节点的JS转换
- NodeJS,OpenCV和stream媒体图像使用networking套接字