node 如何把图片文件转换为 base64 形式?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
对于网页来说,一个图片的存储形式有很多种了。其中一种就是图片的内容以base64
编码的形式存在于html
之中,而不是以更加常见的图片单独存放的形式,存放于网络之中。苏南大叔在本文中,讲述的就是,node
如何把一个图片转化为base64
的方式,进而使其能够存在于css
或者html
之中。大家如果不是太明白的话,可以查看图片的src
属性,正常来说是以http
开头的,而不是data:
开头的。
本文编译环境为:node 8.11.3
、npm 5.6.0
、 mime-types 2.1.21
。
安装mime-types
这个mime-types
主要是用于检测图片的类型的,安装方式如下:
npm install mime-types --save
base64
转换的相关代码demo
用到了fs
、path
、mime-types
三个模块,其中,fs
和path
是系统自带的模块,mime-types
需要额外安装。
const fs = require('fs');
const path = require('path');
const mineType = require('mime-types');
var base64img = function(file){
let filePath = path.resolve(file);
let data = fs.readFileSync( path.resolve(filePath));
data = new Buffer(data).toString('base64');
return 'data:' + mineType.lookup(filePath) + ';base64,' + data;
}
var img01= base64img("img/001.png");
let
、var
、const
虽然使用上有区别,但是大多数时候,混用也是没有问题的。大家刻意区分的话,可以自行修改代码。
返回值就类似以下字符串开头的很长的字符串,可以用于替代图片文件的网络地址。
data:image/png;base64,
使用方式
使用方式上就是类似:
<img src='data:image/png;base64, '/>
对于苏南大叔来说,这个技术点用于替换email
的html
正文中的图片。把传统的http
图片转换为base64
就可以随着邮件正文一起发送了。
总结
更多node
相关经验文章,请支持苏南大叔的博客。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。