ホームページ  >  記事  >  ウェブフロントエンド  >  captchapng を使用して Nodejs で画像検証コードを生成する例を共有する

captchapng を使用して Nodejs で画像検証コードを生成する例を共有する

零下一度
零下一度オリジナル
2017-05-19 09:28:101857ブラウズ

この記事では、Nodejs での captchapng モジュールを使用して画像検証コードを実装する方法を主に紹介します。これは非常に実用的です。画像検証コードを作成するときに問題が発生した場合は、

Nodejs プロジェクトを参照してください。 Nodejs には画像ライブラリがありませんが、将来的には存在する予定です。

インターネットで検索すると、いくつかの解決策があります。

1. 場合によっては、サードパーティの検証コード プログラムを使用します。

2. Java または PHP を使用して、Nodejs を呼び出します。

これらの方法はどちらも理想的ではありません。幸いなことに、数値のみをサポートするライブラリを見つけました。原則として、Base64 画像エンコード方式を使用します。

このライブラリの Gighub アドレスは次のとおりです: github.com/GeorgeChan/captchapng

使用方法はすべてこのホームページにあります。いくつか追加します:

1. Captchapng モジュールを Node プロジェクトの package.json に追加します。 ;

2、次のコードを使用します:

/**
 * 图片验证码

 * @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);

}

3. このコントローラーへのパスを書き込むと、ページは img タグに src 属性を直接追加できます。

このようにして、Nodejsの画像検証コードが早く解決されることを願っています。

【関連おすすめ】

1. 無料のjsオンラインビデオチュートリアル

2. JavaScript中国語リファレンスマニュアル

3.php.cn Dugu Jiijian (3) - JavaScriptビデオチュートリアル

以上がcaptchapng を使用して Nodejs で画像検証コードを生成する例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。