node.js把前台传来的base64码转成图片存放

最近项目有个功能,更换用户个人头像,裁剪后上传保存。
裁剪用了cropper.js,裁剪后的图片为base64编码格式,传到node中,进行转换成图片在保存到数据库中,代码如下:

   
	var fs = require("fs");  // 引入fs模块
    var path = './albums/'+ user_name + '/head_pic/' + Date.now() +'.png';//路径从app.js级开始找--
    var base64 = base_64_url.replace(/^data:image\/\w+;base64,/, ""); //去掉图片base64码前面部分data:image/png;base64
    var dataBuffer = new Buffer(base64, 'base64'); //把base64码转成buffer对象,
    console.log('dataBuffer是否是Buffer对象:'+Buffer.isBuffer(dataBuffer)); // 输出是否是buffer对象
    fs.writeFile(path,dataBuffer,function(err){//用fs写入文件
        if(err){
            console.log(err);
        }else{
            console.log('写入成功!');
        }
    });

@path : 图片在项目中存储的路径
@base_64_url : 前端传递过来的base64数据

写入成功后,连接数据库,更改相应的数据就OK了。

你可能感兴趣的:(node.js把前台传来的base64码转成图片存放)