跳到主要内容
CNode

【已解决】egg中使用svgCaptcha 图片验证码问题?express中没问题,egg怎么用呢?

问答
Ddpc761218914发布于 8 年前最后回复 8 年前
450860

express的实例:

var svgCaptcha = require('svg-captcha'); app.get('/captcha', function (req, res) { var captcha = svgCaptcha.create(); req.session.captcha = captcha.text; res.type('svg'); res.status(200).send(captcha.data); });

egg可以在控制器中这样写有问题吗???,无法返回图片:

class HomeController extends Controller { async index() { await this.ctx.render('index.html'); } async getImage() { var captcha =await svgCaptcha.create(); console.log(captcha.text); console.log(captcha); this.ctx.type('svg'); await this.ctx.status(200).send(captcha.data); } } module.exports = HomeController;

路由文件:

 router.get('/getImage', controller.home.getImage);
查看回复

回复 (4)

D
dpc761218914#48 年前

问题解决了,处理方法: 参考: https://github.com/lemonce/svg-captcha/issues/25

D
dpc761218914#38 年前
引用 IEfuckercaptcha打印出来是个啥?

@IEfucker { text: 'O4Tc', data: '‘svg二进制数’}

D
dpc761218914#28 年前

egg中这样写直接访问图片链接可以返回图片,但是如果在网页中src标签中引入无法获取图片: async getImage() { var captcha = svgCaptcha.create(); // req.session.captcha = captcha.text; console.log(captcha.text); console.log(captcha); this.ctx.body=captcha.data;

}

I
IEfucker#18 年前

captcha打印出来是个啥?

参与回复

登录后即可参与回复。登录