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

11 浏览
0 Comments

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

我正在创建一个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 = {
    //列表
    async index(req, res) {
        const cups = await Cup.find();
        return res.json(cups);
    },
    //创建
    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);
    }
}

0
0 Comments

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

问题的原因:用户想要将base64图像转换为二进制表示,并将其保存到本地文件系统中。他们使用了fs模块的writeFileSync函数来保存文件,但遇到了问题。

解决方法:用户可以使用Buffer对象将base64字符串转换为二进制表示,然后使用fs模块的writeFileSync函数保存文件。

以下是解决方法的代码示例:

const fs = require("fs");
const base64Image = "BASE_64_IMAGE";
const imageBuffer = new Buffer(base64Image, "base64");
fs.writeFileSync("image.png", imageBuffer);

用户还提到了使用req.body.imagem来获取base64图像,并将其保存为message.jpg文件。但是,他们在尝试打开图像时遇到了“不支持此文件格式”的错误。解决此问题的方法是检查req.body.imagem中的base64图像格式是否正确。

用户最终成功解决了问题,并感谢了提供帮助的人。

以上是关于如何使用fs读取和保存base64图像的问题原因和解决方法的整理。

0