最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs中使用captchapng模塊生成圖片驗(yàn)證碼

 更新時(shí)間:2017年05月18日 08:51:32   作者:興哥  
本篇文章主要介紹了Nodejs中使用captchapng模塊實(shí)現(xiàn)圖片驗(yàn)證碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

Nodejs項(xiàng)目,在做圖片驗(yàn)證碼的時(shí)候遇到了難題。Nodejs沒(méi)有圖片庫(kù),以后會(huì)有,但是現(xiàn)在沒(méi)有。

網(wǎng)絡(luò)上搜索一圈,有幾個(gè)解決方案:

1、采用第三方驗(yàn)證碼程序,有的時(shí)候,項(xiàng)目可能不允許;

2、使用Java或者PHP生成圖片,Nodejs調(diào)用,中間采用Redies共享;

這兩種方式都不太理想,好在終于找到了可以支持Nodejs圖片驗(yàn)證碼的一個(gè)庫(kù),雖然只支持?jǐn)?shù)字,但是也還不錯(cuò)。原理是使用Base64的圖片編碼方式。

這個(gè)庫(kù)的Gighub地址是:https://github.com/GeorgeChan/captchapng

使用方法這個(gè)主頁(yè)上都有,這里還是補(bǔ)充一下:

1、在Node項(xiàng)目的package.json中增加captchapng模塊;

2、使用如下代碼:

/**

 * 圖片驗(yàn)證碼

 * @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、給這個(gè)controller寫一個(gè)路徑,頁(yè)面就可以直接在img標(biāo)簽里面增加src屬性了。

這樣就搞定了Nodejs的圖片驗(yàn)證碼,希望Nodejs盡快補(bǔ)充缺乏的庫(kù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋

    node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋

    這篇文章主要介紹了node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié)

    nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié)

    這篇文章主要介紹了nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié),對(duì)FS模塊的大部份異步函數(shù)做了介紹,而且用中文注釋,這下用起來(lái)方便了,需要的朋友可以參考下
    2014-06-06
  • Nodejs初級(jí)階段之express

    Nodejs初級(jí)階段之express

    這篇文章主要介紹了Nodejs初級(jí)階段之express的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • 基于Express實(shí)現(xiàn)遞歸遍歷文件和CRUD操作

    基于Express實(shí)現(xiàn)遞歸遍歷文件和CRUD操作

    在現(xiàn)代的?Web?應(yīng)用開(kāi)發(fā)中,文件管理是一個(gè)常見(jiàn)而重要的需求,所以本文就來(lái)講講如何利用?Express?框架,在遞歸遍歷文件之后實(shí)現(xiàn)強(qiáng)大的?CRUD?操作,構(gòu)建一個(gè)功能完善的文件管理系統(tǒng),感興趣的可以了解一下
    2023-06-06
  • 使用forever管理nodejs應(yīng)用教程

    使用forever管理nodejs應(yīng)用教程

    這篇文章主要介紹了使用forever管理nodejs應(yīng)用教程,本文介紹了forever的安裝、常用命令等,最有用的莫過(guò)于文件改動(dòng)監(jiān)聽(tīng)并自動(dòng)重啟了,這可以增加開(kāi)nodejs應(yīng)用的效率,需要的朋友可以參考下
    2014-06-06
  • 教你用NodeJs構(gòu)建屬于自己的前端腳手工具

    教你用NodeJs構(gòu)建屬于自己的前端腳手工具

    對(duì)于腳手架我們可能天天都在接觸,像npm包管理工具,vue-cli,webpack…,但是這些腳手架是怎么做出來(lái)的,我們自己能不能做一個(gè)出來(lái)玩玩,下面這篇文章主要給大家介紹了關(guān)于如何利用NodeJs構(gòu)建屬于自己的前端腳手工具的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Node.js實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳示例詳解

    Node.js實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳示例詳解

    這篇文章主要為大家介紹了Node.js實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 在Node.js應(yīng)用程序中處理大數(shù)的操作指南

    在Node.js應(yīng)用程序中處理大數(shù)的操作指南

    在JavaScript生態(tài)系統(tǒng)中,你可以使用BigInt來(lái)處理大整數(shù),但是,你也可以使用具有類似于BigInt功能的第三方庫(kù),本文將是使用BigInt和提供類似功能的流行庫(kù)管理大數(shù)的完整指南,我們還將比較第三方庫(kù)的用例、優(yōu)勢(shì)和劣勢(shì)
    2023-06-06
  • 干凈卸載Windows的Node.js環(huán)境的方法

    干凈卸載Windows的Node.js環(huán)境的方法

    這篇文章主要介紹了如何干凈卸載Windows的Node.js環(huán)境的方法,文中通過(guò)圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家刪除Node.js環(huán)境有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題

    node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09

最新評(píng)論

珲春市| 加查县| 城口县| 盐源县| 巴东县| 广东省| 锡林浩特市| 玉屏| 芒康县| 三门峡市| 新泰市| 易门县| 福安市| 广南县| 邯郸市| 东光县| 固安县| 中西区| 北京市| 常山县| 右玉县| 通榆县| 台北县| 高阳县| 贵溪市| 普安县| 溧阳市| 兰溪市| 澄江县| 磐安县| 昌吉市| 伊吾县| 仁布县| 房产| 宁安市| 嘉善县| 晋宁县| 察隅县| 明光市| 大庆市| 桦南县|