In Node.js è relativamente semplice codificare un'immagine in Base64.

La soluzione è la seguente:


'use strict';

const fs = require('fs');
const util = require('util');

fs.readFile = util.promisify(fs.readFile);

const encodeImg = async src => {
    try {
        const imgPath = __dirname + '/' + src;
        const buff = await fs.readFile(imgPath);
        const base64data = buff.toString('base64');
        return base64data;
    } catch(err) {
        return err;
    }
};

module.exports = encodeImg;

Leggere un file in Node equivale a ricevere come output un buffer di dati, quindi in questo caso è sufficiente convertire tale buffer in una stringa nel formato Base64.