美文网首页
nodejs 图片base64处理

nodejs 图片base64处理

作者: 三省吾身_9862 | 来源:发表于2019-01-30 16:21 被阅读5次

    一、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("保存成功!");
            }
        });
    });
    

    二、图片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所在的目录,
      });
    });
    

    三、图片转base64

    const fs = require('fs');
    let bitmap = fs.readFileSync('start.jpg');
    
    let base64str = Buffer.from(bitmap, 'binary').toString('base64'); // base64编码
    console.log(base64str);
    

    相关文章

      网友评论

          本文标题:nodejs 图片base64处理

          本文链接:https://www.haomeiwen.com/subject/uejcsqtx.html