亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用nodejs讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式

 更新時(shí)間:2022年08月03日 11:35:53   作者:暮志未晚Webgl  
這篇文章主要介紹了利用nodejs讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式

首先,使用nodejs進(jìn)行數(shù)據(jù)讀取,需要用到nodejs的fs模塊進(jìn)行數(shù)據(jù)讀?。?/p>

fs.readFile('你的資源路徑','binary',function(err,data){
? ? if(err){
? ? ? ? console.log(err)
? ? }else{
? ? ? ? console.log('數(shù)據(jù)讀取成功');
? ? }
});

讀取到當(dāng)前的文件數(shù)據(jù)以后,我們還需要使用js的Buffer類(lèi)進(jìn)行數(shù)據(jù)轉(zhuǎn)換:

先用buffer將數(shù)據(jù)進(jìn)行緩存

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

然后獲取到圖片的base64格式數(shù)據(jù):

buffer.toString('base64')

由于獲取到的base64不含有前面的圖片類(lèi)型等內(nèi)容,所以,我們賦值給image對(duì)象的時(shí)候,還需要添加上相應(yīng)的圖片類(lèi)型內(nèi)容:

img.src = 'data: image/'+ getImageType(fileName) +';base64,' + buffer.toString('base64');
//獲取當(dāng)前圖片的格式
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進(jìn)行保存:

//保存圖片
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讀取服務(wù)器圖片,轉(zhuǎn)為base64顯示在網(wǎng)頁(yè)上

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 "";
}
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nodejs調(diào)用WebService的示例代碼

    Nodejs調(diào)用WebService的示例代碼

    本篇文章主要介紹了Nodejs調(diào)用WebService的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 使用nvm管理不同版本的node與npm的方法

    使用nvm管理不同版本的node與npm的方法

    本篇文章主要介紹了使用 nvm 管理不同版本的 node 與 npm的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Node.js JSON模塊用法實(shí)例分析

    Node.js JSON模塊用法實(shí)例分析

    這篇文章主要介紹了Node.js JSON模塊用法,結(jié)合實(shí)例形式分析了node.js json模塊的基本語(yǔ)法,以及使用json模塊進(jìn)行json格式數(shù)據(jù)解析的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • nodejs中的異步編程知識(shí)點(diǎn)詳解

    nodejs中的異步編程知識(shí)點(diǎn)詳解

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于nodejs中的異步編程知識(shí)點(diǎn)詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • node.js中的console.error方法使用說(shuō)明

    node.js中的console.error方法使用說(shuō)明

    這篇文章主要介紹了node.js中的console.error方法使用說(shuō)明,本文介紹了console.error的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • vscode 調(diào)試 node.js的方法步驟

    vscode 調(diào)試 node.js的方法步驟

    這篇文章主要介紹了vscode 調(diào)試 node.js的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 深入Node TCP模塊的理解

    深入Node TCP模塊的理解

    這篇文章主要介紹了深入Node TCP模塊的理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺談Node框架接入ELK實(shí)踐總結(jié)

    淺談Node框架接入ELK實(shí)踐總結(jié)

    這篇文章主要介紹了淺談Node框架接入ELK實(shí)踐總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • node.js遍歷目錄的方法示例

    node.js遍歷目錄的方法示例

    本篇文章主要介紹了node.js遍歷目錄的方法示例,主要介紹了同步遍歷和異步遍歷兩種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-08-08
  • nodejs事件的監(jiān)聽(tīng)與觸發(fā)的理解分析

    nodejs事件的監(jiān)聽(tīng)與觸發(fā)的理解分析

    這篇文章主要介紹了nodejs事件的監(jiān)聽(tīng)與觸發(fā)的理解分析,以實(shí)例形式對(duì)比分析了nodejs與jQuery關(guān)于事件監(jiān)聽(tīng)的實(shí)用技巧,有助于加深對(duì)nodejs的理解,需要的朋友可以參考下
    2015-02-02

最新評(píng)論