Javascript 如何使用fs读取和保存base64图像

Javascript 如何使用fs读取和保存base64图像,javascript,node.js,fs,Javascript,Node.js,Fs,我正在创建一个api节点,该节点在前端独立于api,我正在使用fetch发送数据我正在选择一个jpg文件并以base64格式发送到api,我通常在控制器中以var imagem=req.body.imagem;接收base64。我现在需要将这个base64转换成一个图像保存在.././public/img目录中。我怎么能这么做 const mongoose = require('mongoose'); const Cup = require('../models/Cup'); module.ex

我正在创建一个api节点,该节点在前端独立于api,我正在使用fetch发送数据我正在选择一个jpg文件并以base64格式发送到api,我通常在控制器中以var imagem=req.body.imagem;接收base64。我现在需要将这个base64转换成一个图像保存在.././public/img目录中。我怎么能这么做

const mongoose = require('mongoose');
const Cup = require('../models/Cup');
module.exports = {
    //listagem
    async index(req, res) {
        const cups = await Cup.find();

        return res.json(cups);
    },
    //criaçao
    async store(req, res) {
        var nome = req.body.nome;
        var caminho = req.body.caminho;
        var tema = req.body.tema;
        var imagem = req.body.imagem;
        const cup = await Cup.create({
            nome: nome,
            caminho: caminho,
            tema: tema
        });
        return res.json(cup);
    }
}

通过将字符串转换为缓冲区,可以将图像从base64表示形式转换为二进制表示形式-新建Bufferb64_图像“base64”在中阅读更多有关此的信息。然后,您可以使用异步保存文件或同步保存文件的方式将缓冲区保存到本地文件系统

您试图做的事情可以通过以下方式完成:

常数fs=所需参数; const base64Image=BASE\u 64\u IMAGE; const imageBuffer=新的Bufferbase64Image,base64; fs.writeFileSyncimage.png,imageBuffer;
我回答说,大多数情况下,它们对base64编码/解码非常有用。。。但你的答案要好得多:@paulsm4谢谢:atob也可以很好地工作,但在使用Node.js运行时,通常最好使用本机缓冲区对象;如何以及在何处插入base64?@HenriqueRamos在您提到的代码中,“Hello Node.js”是保存到message.txt的数据,而不是图像缓冲区。在您的情况下,用于保存文件的代码应该是:fs.writeFile'image.png',imageBuffer,callback@ItaiSteinherz我设法创建了一个txt文件,但我仍然不能很好地理解缓冲区,首先,它必须是正确的image.jpg而不是message.txt?但是关于base64和缓冲区,我不太理解