nodejs 圖片base64處理

1、base64轉圖片

var app = require('express')();
app.post('/upload', function(req, res){
    //接收前臺POST過來的base64
    var imgData = req.body.imgData;
    //過濾data:URL
    var base64Data = imgData.replace(/^data:image\/\w+;base64,/, "");
    var dataBuffer = new Buffer(base64Data, 'base64'); // 解碼圖片
    // var dataBuffer = Buffer.from(base64Data, 'base64'); // 這是另外一種寫法
    fs.writeFile("image.png", dataBuffer, function(err) {
        if(err){
          res.send(err);
        }else{
          res.send("保存成功!");
        }
    });
});
複製代碼

2、圖片url轉base64

var app = require('express')();
app.get(url,function(res){
  var chunks = []; //用於保存網絡請求不斷加載傳輸的緩衝數據
  var size = 0;   //保存緩衝數據的總長度

  res.on('data',function(chunk){
    chunks.push(chunk);  //在進行網絡請求時,會不斷接收到數據(數據不是一次性獲取到的)
    size += chunk.length;  //累加緩衝數據的長度
  });

  res.on('end',function(err){
    var data = Buffer.concat(chunks, size);  //Buffer.concat將chunks數組中的緩衝數據拼接起來,返回一個新的Buffer對象賦值給data
    var base64Img = data.toString('base64');  //將Buffer對象轉換爲字符串並以base64編碼格式顯示
    console.log(base64Img);   //進入終端terminal,而後進入index.js所在的目錄,
  });
});
複製代碼

3、圖片轉base64

const fs = require('fs');
let bitmap = fs.readFileSync('start.jpg');

let base64str = Buffer.from(bitmap, 'binary').toString('base64'); // base64編碼
console.log(base64str);
複製代碼
相關文章
相關標籤/搜索