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了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值