NodeJS将base64编码的图像写入文件

时间:2016-01-26 04:20:39

标签: node.js image image-processing express base64

我已经在stackoverflow上搜索并尝试了所有解决方案,但它们似乎都没有在我的实例中运行。基本上我有一个图像,由html5画布编辑,从客户端上传,我需要将其保存到磁盘,但不幸的是我无法打开我刚刚保存的文件。 (我使用的是Windows 7)

我的代码:

var base64Data = req.body.image.replace(/^data:image\/(png|gif|jpeg);base64,/,'');
require('fs').writeFile('public/aboutToGiveUp.png', new Buffer(base64Data, 'base64'));

2 个答案:

答案 0 :(得分:1)

有同样的错误,这是由于错误的url路径,您可以添加app.use("/", express.static(path.join(__dirname, 'public')));,因此无需在网址中添加public,只需检查一下网址路径即可。

工作样本:

  • url = req.protocol+'://'+req.headers.host+"/"+filename;

  • url = req.protocol+'://'+req.headers.host+"/images/"+filename; //其在public/images

答案 1 :(得分:0)

尝试使用./public/aboutToGiveUp.png或确保路径相对于包含此代码的文件。