博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nodejs图片验证码captchapng
阅读量:6096 次
发布时间:2019-06-20

本文共 1062 字,大约阅读时间需要 3 分钟。

hot3.png

Nodejs项目,在做图片验证码的时候遇到了难题。Nodejs没有图片库,以后会有,但是现在没有。

网络上搜索一圈,有几个解决方案:

1、采用第三方验证码程序,有的时候,项目可能不允许;

2、使用Java或者PHP生成图片,Nodejs调用,中间采用Redies共享;

这两种方式都不太理想,好在终于找到了可以支持Nodejs图片验证码的一个库,虽然只支持数字,但是也还不错。原理是使用Base64的图片编码方式。

这个库的Gighub地址是:

使用方法这个主页上都有,这里还是补充一下:

1、在Node项目的package.json中增加模块;

2、使用如下代码:

var captchapng=require('captchapng');        /*验证码*/        router.get('/captchapng',function(req,res,next){            var code = Math.floor(Math.random()*(9999-999+1)+999);  //生成随机验证码            req.session.code = code;  //session设置code            var p = new captchapng(80,30,parseInt(code)); // 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);        })

 

转载于:https://my.oschina.net/zhiqiangwang/blog/1622517

你可能感兴趣的文章
MySql授权
查看>>
MySQL创建用户并授权及撤销用户权限
查看>>
Linux下定时切割nginx日志并删除指定天数前的日志记录
查看>>
MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结
查看>>
世界IT名人录
查看>>
2008 R2 nslookup 提示unknown
查看>>
第三十八天:分区 -- Parte
查看>>
linux下telnet到h3c交换机Backspace无效
查看>>
修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
查看>>
如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式
查看>>
Windows Server 2012 R2 DirectAccess功能测试(1)—DC配置
查看>>
性能测试计算公式 供参考
查看>>
瞬间读懂什么是互联网思维、大数据、O2O、众筹、红海
查看>>
表闪回
查看>>
jQuery插件 -- Cookie插件jquery.cookie.js(转)
查看>>
常见EMC疑问及对策
查看>>
About Me
查看>>
BZOJ4756:[USACO]Promotion Counting(线段树合并)
查看>>
内部类、代码块
查看>>
软件工程第二章 习题2 第5题
查看>>