Node.js 接收 Base64 格式的图片并保存为文件

发布于 2018-10-12 21:04:38 字数 713 浏览 2766 评论 0

不可否认,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文