0

DoesNode.js have built-in Base64 encoding?

const uploadimage = asyncHandler(async(req, res, next) => { try{ var matches = req.body.base64image.match(/^data:([A-Za-z-+/]+);base64,(.+)$/); response = {}; if(matches.length !== 3){ return new Error('Invalid input string'); }

    response.type = matches[1];
    response.data = new Buffer(matches[2], 'base64');
    let decodedImg = response;
    let imageBuffer = descodedImg.data;
    let type = decodedImg.type;
    let extension = mime.extension(type);
    let fileName = "image." + extension;


      fs.writeFileSync("uploads" + fileName, imageBuffer, 'utf8');
      return res.send({
        "status":"success"
      })
    }catch(e){
      return res.send({
        "status":"failed",
      })
    }
});

but this error appears

DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (Use node --trace-deprecation ... to show where the warning was created)

  • Does this answer your question? [How can I do Base64 encoding in Node.js?](https://stackoverflow.com/questions/6182315/how-can-i-do-base64-encoding-in-node-js) – O. Jones Nov 11 '21 at 11:41

1 Answers1

0

Try this:

npm i -S pdf-to-base64

const pdf2base64 = require('pdf-to-base64');
pdf2base64("test/sample.pdf")
    .then(
        (response) => {
            console.log(response); //cGF0aC90by9maWxlLmpwZw==
        }
    )
    .catch(
        (error) => {
            console.log(error); //Exepection error....
        }
    )

documentation at: https://www.npmjs.com/package/pdf-to-base64