簡體   English   中英

如何使用fs讀取和保存base64圖像

[英]How to read and save base64 image with fs

我正在創建一個api節點,在前端(它與api分開,我使用fetch發送數據)我選擇一個jpg文件並以base64格式發送到api,我通常會收到base64帶有“var imagem = req.body.imagem;”的控制器。 我現在需要使用這個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表示其二進制表示的字符串轉換為轉換Buffer - new Buffer(b64_image, 'base64')以了解更多關於這個這個答案 )。 然后,您可以使用fs.writeFile (如果您想異步保存文件)或fs.writeFileSync (如果您想同步保存文件)將緩沖區保存到本地文件系統。

您正在嘗試做的事情可以通過以下方式完成:

const fs = require("fs");

const base64Image = "BASE_64_IMAGE";
const imageBuffer = new Buffer(base64Image, "base64");

fs.writeFileSync("image.png", imageBuffer);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM