Home > Web Front-end > JS Tutorial > body text

Share an example of using captchapng to generate image verification code in Nodejs

零下一度
Release: 2017-05-19 09:28:10
Original
1909 people have browsed it

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,&#39;base64&#39;);

  res.writeHead(200, {

    &#39;Content-Type&#39;: &#39;image/png&#39;

  });
  res.end(imgbase64);

}
Copy after login

3. Write a path to this controller, and the page can be directly placed in the img tag The 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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template