Convert Base64 image to raw binary with Node.js

前端 未结 2 1114
北荒
北荒 2021-02-14 12:42

I have found posts that are close to what I\'m looking for, but I have not been able to successfully implement what I want. Here is the general flow:

  1. Submit photo
相关标签:
2条回答
  • 2021-02-14 13:21

    Make sure your string is correct. This worked for me..

    var buf = new Buffer(b64stringhere, 'base64');
    var express = require('express'), app = express();
    app.get('/img', function(r, s){
        s.end(buf);
    })
    app.listen(80);
    
    0 讨论(0)
  • 2021-02-14 13:31

    You can take the string from MongoDB, create a new buffer instance, and specify an encoding when doing so. The resultant buffer will be in binary data.

    var b64str = /* whatever you fetched from the database */;
    var buf = new Buffer(b64str, 'base64');
    

    So in your implementation:

    server.get(version+'/images/:id', function(req, res) {
      gridfstore.read(req.params.id, function(err, data) {
        var img = new Buffer(data.buffer, 'base64');
    
        res.writeHead(200, {
          'Content-Type': 'image/jpeg',
          'Content-Length': img.length
        });
        res.end(img); 
    
      });
    });
    
    0 讨论(0)
提交回复
热议问题