/// <summary> /// 通过实现 System.Web.IHttpHandler 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。 /// </summary> /// <param name="context">Microsoft.AspNetCore.Http.HttpContext 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。</param> public async void ProcessRequest(Microsoft.AspNetCore.Http.HttpContext context) { var request = context.Request; var response = context.Response; //在此写入您的处理程序实现。 string VerifyCodeID = request.Query["VerifyCodeID"]; // if (string.IsNullOrEmpty(VerifyCodeID)) // { // //response.ContentType = "text/plain"; // response.ContentType = "text/html"; // response.Write(@"<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /></head><body> //" + Thinksea.Web.TextToHtml(@"功能:生成一个验证码图片。 //参数列表: //VerifyCodeID:验证码对应的唯一 ID。(*必选参数) //") + @" //</body></html>"); // return; // } //string generateVerifyCode = VerifyCode.GenerateVerifyCodeString(); string generateVerifyCodeQuestion, generateVerifyCodeAnswer; VerifyCode.GenerateVerifyCode(out generateVerifyCodeQuestion, out generateVerifyCodeAnswer); string _VerifyCode = generateVerifyCodeAnswer.ToLower(); //用于存储验证码的密码字符串。 //if (this.IsTrackingViewState) { SaveVerifyCode(context, VerifyCodeID, _VerifyCode); } //response.ContentType = "text/plain"; response.ContentType = "image/png"; //response.ContentType = "application/octet-stream"; //response.Write("Hello World"); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { using (System.Drawing.Bitmap image = Thinksea.VerifyCode.GenerateVerifyCodeImage(generateVerifyCodeQuestion)) { image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); //image.Dispose(); } ms.Seek(0, System.IO.SeekOrigin.Begin); await ms.CopyToAsync(response.Body); } }
/// <summary> /// 通过实现 System.Web.IHttpHandler 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。 /// </summary> /// <param name="context">System.Web.HttpContext 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。</param> public void ProcessRequest(System.Web.HttpContext context) { //在此写入您的处理程序实现。 string VerifyCodeID = context.Request["VerifyCodeID"]; // if (string.IsNullOrEmpty(VerifyCodeID)) // { // //context.Response.ContentType = "text/plain"; // context.Response.ContentType = "text/html"; // context.Response.Write(@"<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /></head><body> //" + Thinksea.Web.TextToHtml(@"功能:生成一个验证码图片。 //参数列表: //VerifyCodeID:验证码对应的唯一 ID。(*必选参数) //") + @" //</body></html>"); // return; // } //string generateVerifyCode = VerifyCode.GenerateVerifyCodeString(); string generateVerifyCodeQuestion, generateVerifyCodeAnswer; VerifyCode.GenerateVerifyCode(out generateVerifyCodeQuestion, out generateVerifyCodeAnswer); string _VerifyCode = generateVerifyCodeAnswer.ToLower(); //用于存储验证码的密码字符串。 //if (this.IsTrackingViewState) { SaveVerifyCode(VerifyCodeID, _VerifyCode); } //context.Response.ContentType = "text/plain"; context.Response.ContentType = "image/png"; //context.Response.ContentType = "application/octet-stream"; //context.Response.Write("Hello World"); System.Drawing.Bitmap image = Thinksea.VerifyCode.GenerateVerifyCodeImage(generateVerifyCodeQuestion); image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png); image.Dispose(); }