Node.js 接收 Base64 格式的图片并保存为文件
不可否认,Base64 格式来上传图片比其他方式要来的简单些,特别像是开发微信的项目,微信封装了一些上传文件的方法,但是在普通浏览器里面却不能允许,这给开发和调试带来很多麻烦,如果统一使用 Base64 格式上传文件,那么就跟运行环境无关了。
Base64 的形式为 data:image/png;base64,iVBORw0K…
,当接收到上边的内容后,需要将 data:image/png;base64,
这段内容过滤掉,过滤成 iVBORw0K…
,然后再进行保存。
app.post('/upload', function(req, res){
//接收前台POST过来的base64
var imgData = req.body.imgData;
//过滤data:URL
var base64Data = imgData.replace(/^data:image\/\w+;base64,/, "");
var dataBuffer = new Buffer(base64Data, 'base64');
fs.writeFile("image.png", dataBuffer, function(err) {
if(err){
res.send(err);
}else{
res.send("保存成功!");
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论