node.js实现将图片转化为base64形式

第一步:引入fs模块和path模块

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

第二步:写好将图片转化为base64的方法

function parse(file) {
    let filePath = path.resolve(file); // 原始文件地址
    // let fileName = filePath.split('\\').slice(-1)[0].split('.'); // 提取文件名
    // let fileMimeType = mimeType.lookup(filePath); // 获取文件的 memeType

    // 如果不是图片文件,则退出
    // if (!fileMimeType.toString().includes('image')) {
    //     console.log(chalk.red(`Failed! ${filePath}:\tNot image file!`));
    //     return;
    // }

    // 读取文件数据
    let data = fs.readFileSync(filePath);
    data = Buffer.from(data).toString('base64');

    // // 转换为 data:image/jpeg;base64,***** 格式的字符串
    // let base64 = 'data:' + fileMimeType + ';base64,' + data;
    //
    // // 创建输出目录
    // let outPath = path.resolve('./base64/');
    // let outFileName = `${fileName.join('-')}.txt`;
    // let outFile = path.join(outPath, outFileName);
    // if (fs.existsSync(outPath)) {
    //     saveData(base64, outFile, filePath, outFileName);
    // } else {
    //     mkdirp(outPath, () => {
    //         saveData(base64, outFile, filePath, outFileName);
    //     });
    // }
    return data;
}

第三步:调用方法传入路径就可以得到base64的文件了

var file = "test/刘亦菲.jpg"
var data = parse(file)
console.log(data)

运行结果截图:

node.js实现将图片转化为base64形式_第1张图片

将会得到很长一串的base64文件.

你可能感兴趣的:(node.js,javascript,前端)