Exemplo n.º 1
0
        public IActionResult GetCaptcha()
        {
            // 验证码的值
            var code = _captchaHelper.GetValidateCode();

            // 生成验证码图片流
            var stream = _captchaHelper.CreateImageStream(code);

            // 保存到缓存
            // todo 整理缓存服务,配置化过期时间
            var codeId = Guid.NewGuid().ToString();

            _memoryCache.Set(codeId, code, new MemoryCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromMinutes(2)));

            // 将id保存到header返回客户端
            Response.Headers.Add(CommonConstants.CaptchaCodeId, codeId.ToString());
            return(File(stream.ToArray(), @"image/png"));
        }