如何用Node.js读取图片并实现二进制数据到Base64格式的转换?

更新于
2026-07-28 22:51:18
17阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计647个文字,预计阅读时间需要3分钟。

如何用Node.js读取图片并实现二进制数据到Base64格式的转换?

目录:读取图片并转换为base64格式,Node.js读取服务器图片,转换为base64格式显示在网页上

内容:使用Node.js读取服务器上的图片,并将其转换为base64格式,以便在网页上显示。

步骤:

1.使用Node.js的`fs`模块读取服务器上的图片文件。

2.使用`Buffer`模块将读取到的二进制数据转换为base64编码的字符串。

3.将转换后的base64字符串嵌入到HTML页面中,以便在网页上显示图片。

示例代码:

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

// 读取服务器上的图片文件const imagePath=path.join(__dirname, 'example.jpg');fs.readFile(imagePath, (err, data)=> { if (err) { console.error('Error reading image:', err); return; }

// 将二进制数据转换为base64编码的字符串 const base64Image=data.toString('base64');

// 输出base64编码的图片数据 console.log(base64Image);});

HTML示例: Image Display

请将`{{base64Image}}`替换为从Node.js脚本中获取的base64编码字符串。

目录
  • 读取图片并将二进制数据转换成base64格式
  • nodejs读取服务器图片,转为base64显示在网页上

读取图片并将二进制数据转换成base64格式

首先,使用nodejs进行数据读取,需要用到nodejs的fs模块进行数据读取:

fs.readFile('你的资源路径','binary',function(err,data){     if(err){         console.log(err)     }else{         console.log('数据读取成功');     } });

读取到当前的文件数据以后,我们还需要使用js的Buffer类进行数据转换:

先用buffer将数据进行缓存

const buffer = new Buffer(data, 'binary');

然后获取到图片的base64格式数据:

buffer.toString('base64')

由于获取到的base64不含有前面的图片类型等内容,所以,我们赋值给image对象的时候,还需要添加上相应的图片类型内容:

如何用Node.js读取图片并实现二进制数据到Base64格式的转换?

img.src = 'data: image/'+ getImageType(fileName) +';base64,' + buffer.toString('base64'); //获取当前图片的格式 function getImageType(str){     var reg = /\.(png|jpg|gif|jpeg|webp)$/;     return str.match(reg)[1]; }

最后,附上完整的代码:

fs.readFile('你的资源路径','binary',function(err,data){     if(err){         console.log(err)     }else{         const buffer = new Buffer(data, 'binary');         img.src = 'data: image/'+ getImageType(fileName) +';base64,' + buffer.toString('base64');     } });

既然有读取,那么,再加上如何将base64格式的图片保存到本地,还是需要用到buffer进行保存:

//保存图片 function saveImg(){     const base64 = canvas.toDataURL().replace(/^data:image\/\w+;base64,/, ""); //必须去掉前缀     const buffer = new Buffer(base64, 'base64');     fs.writeFile('保存路径', buffer, function (err) {         if(err) throw err;         console.log('保存成功');     }); }

nodejs读取服务器图片,转为base64显示在网页上

const fs = require("fs"); const mineType = require("mime-types"); function imgToBase64(url) { try { let imgurl = config.imageUrl; let imageData = fs.readFileSync(imgurl); if (!imageData) return ""; let bufferData = Buffer.from(imageData).toString("base64"); let base64 = "data:" + mineType.lookup(imgurl) + ";base64," + bufferData; return base64; } catch (error) { return ""; } }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计647个文字,预计阅读时间需要3分钟。

如何用Node.js读取图片并实现二进制数据到Base64格式的转换?

目录:读取图片并转换为base64格式,Node.js读取服务器图片,转换为base64格式显示在网页上

内容:使用Node.js读取服务器上的图片,并将其转换为base64格式,以便在网页上显示。

步骤:

1.使用Node.js的`fs`模块读取服务器上的图片文件。

2.使用`Buffer`模块将读取到的二进制数据转换为base64编码的字符串。

3.将转换后的base64字符串嵌入到HTML页面中,以便在网页上显示图片。

示例代码:

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

// 读取服务器上的图片文件const imagePath=path.join(__dirname, 'example.jpg');fs.readFile(imagePath, (err, data)=> { if (err) { console.error('Error reading image:', err); return; }

// 将二进制数据转换为base64编码的字符串 const base64Image=data.toString('base64');

// 输出base64编码的图片数据 console.log(base64Image);});

HTML示例: Image Display

请将`{{base64Image}}`替换为从Node.js脚本中获取的base64编码字符串。

目录
  • 读取图片并将二进制数据转换成base64格式
  • nodejs读取服务器图片,转为base64显示在网页上

读取图片并将二进制数据转换成base64格式

首先,使用nodejs进行数据读取,需要用到nodejs的fs模块进行数据读取:

fs.readFile('你的资源路径','binary',function(err,data){     if(err){         console.log(err)     }else{         console.log('数据读取成功');     } });

读取到当前的文件数据以后,我们还需要使用js的Buffer类进行数据转换:

先用buffer将数据进行缓存

const buffer = new Buffer(data, 'binary');

然后获取到图片的base64格式数据:

buffer.toString('base64')

由于获取到的base64不含有前面的图片类型等内容,所以,我们赋值给image对象的时候,还需要添加上相应的图片类型内容:

如何用Node.js读取图片并实现二进制数据到Base64格式的转换?

img.src = 'data: image/'+ getImageType(fileName) +';base64,' + buffer.toString('base64'); //获取当前图片的格式 function getImageType(str){     var reg = /\.(png|jpg|gif|jpeg|webp)$/;     return str.match(reg)[1]; }

最后,附上完整的代码:

fs.readFile('你的资源路径','binary',function(err,data){     if(err){         console.log(err)     }else{         const buffer = new Buffer(data, 'binary');         img.src = 'data: image/'+ getImageType(fileName) +';base64,' + buffer.toString('base64');     } });

既然有读取,那么,再加上如何将base64格式的图片保存到本地,还是需要用到buffer进行保存:

//保存图片 function saveImg(){     const base64 = canvas.toDataURL().replace(/^data:image\/\w+;base64,/, ""); //必须去掉前缀     const buffer = new Buffer(base64, 'base64');     fs.writeFile('保存路径', buffer, function (err) {         if(err) throw err;         console.log('保存成功');     }); }

nodejs读取服务器图片,转为base64显示在网页上

const fs = require("fs"); const mineType = require("mime-types"); function imgToBase64(url) { try { let imgurl = config.imageUrl; let imageData = fs.readFileSync(imgurl); if (!imageData) return ""; let bufferData = Buffer.from(imageData).toString("base64"); let base64 = "data:" + mineType.lookup(imgurl) + ";base64," + bufferData; return base64; } catch (error) { return ""; } }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。