【问题标题】:NodeJS write base64 encoded image to fileNodeJS 将 base64 编码图像写入文件
【发布时间】:2016-01-26 04:20:39
【问题描述】:

我已经在 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'));

【问题讨论】:

  • 您是如何尝试打开文件的?可以显示网址吗?
  • 我们添加了app.use(express.static('public'));,所以不需要在url中添加public。请检查一次网址。

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


【解决方案1】:

同样的bug,是url路径不正确,你可以加app.use("/", express.static(path.join(__dirname, 'public')));,所以不需要在url中加public,检查一下你的url路径。

工作样本:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 包含文件但无法打开的路径。
    猜你喜欢
    • 2013-12-14
    • 2014-08-01
    • 2014-01-19
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    相关资源
    最近更新 更多