This article mainly introduces the use of captchapng module in Nodejs to implement image verification codes. It is of great practical value. Friends in need can refer to the
Nodejs project. I encountered difficulties when making image verification codes. Nodejs does not have an image library. There will be in the future, but not now.
After searching around the Internet, there are several solutions:
1. Use a third-party verification code program. Sometimes, the project may not allow it;
2. Use Java or PHP to generate images, call Nodejs, and use Redies to share in the middle;
Both methods are not ideal. Fortunately, I finally found a library that can support Nodejs image verification codes, although it only supports numbers. But it's not bad either. The principle is to use the Base64 image encoding method.
The Gighub address of this library is: github.com/GeorgeChan/captchapng
The usage methods are all on this homepage, but I will add them here:
1. In the Node project Add the captchapng module to package.json;
2. Use the following code:
/** * 图片验证码 * @param req * @param res * @param next */ function randomcodePngController(req , res , next){ var code = '0123456789'; var length = 4; var randomcode = ''; for (var i = 0; i < length; i++) { randomcode += code[parseInt(Math.random() * 1000) % code.length]; } // 保存到session if (null == req.session[sessionConstant.login]) { req.session[sessionConstant.login] = {}; } req.session[sessionConstant.login][sessionConstant.randomcode] = randomcode; // 输出图片 var p = new captchapng(80,30,parseInt(randomcode)); // width,height,numeric captcha p.color(255, 255, 255, 0); // First color: background (red, green, blue, alpha) p.color(80, 80, 80, 255); // Second color: paint (red, green, blue, alpha) var img = p.getBase64(); var imgbase64 = new Buffer(img,'base64'); res.writeHead(200, { 'Content-Type': 'image/png' }); res.end(imgbase64); }
3. Write a path to this controller, and the page can be directly placed in theimg tagThe src attribute has been added to it.
In this way, the image verification code of Nodejs is solved. I hope Nodejs will supplement the missing libraries as soon as possible.
【Related recommendations】
1.Free js online video tutorial
2.JavaScript Chinese Reference Manual
3.php.cn Dugu Jiujian (3) - JavaScript video tutorial
The above is the detailed content of Share an example of using captchapng to generate image verification code in Nodejs. For more information, please follow other related articles on the PHP Chinese website!