通过Web服务返回验证码图像(c#)

通过Web服务返回验证码图像(c#),c#,web-services,captcha,C#,Web Services,Captcha,我使用创建验证码图像,并将其代码放在我的Web服务中,以便将图像的验证码返回到客户端(app.js),但我有很多错误 我的网络服务: 公共类验证码:System.Web.Services.WebService { [WebMethod(EnableSession=true)] 公共位图图像() { 布尔噪声=真; var rand=new Random((int)DateTime.Now.Ticks); //生成新问题 INTA=下一个随机数(10,99); int b=下一个随机数(0,9);

我使用创建验证码图像,并将其代码放在我的Web服务中,以便将图像的验证码返回到客户端(app.js),但我有很多错误

我的网络服务:
公共类验证码:System.Web.Services.WebService
{
[WebMethod(EnableSession=true)]
公共位图图像()
{
布尔噪声=真;
var rand=new Random((int)DateTime.Now.Ticks);
//生成新问题
INTA=下一个随机数(10,99);
int b=下一个随机数(0,9);
var captcha=string.Format(“{0}+{1}=?”,a,b);
//存储应答
会话[“验证码-1”]=a+b;
//图像流
FileContentResult img=null;//获取FileContentResult的错误
使用(var mem=new MemoryStream())
使用(var bmp=新位图(130,30))
使用(var gfx=Graphics.FromImage((System.Drawing.Image)bmp))
{
gfx.TextRenderingHint=TextRenderingHint.ClearTypeGridFit;
gfx.SmoothingMode=SmoothingMode.AntiAlias;
gfx.FillRectangle(笔刷.White,新矩形(0,0,bmp.Width,bmp.Height));
//增加噪音
如果(噪音)
{
int i,r,x,y;
var笔=新笔(颜色为黄色);
对于(i=1;i<10;i++)
{
pen.Color=Color.FromArgb(
(rand.Next(0255)),
(rand.Next(0255)),
(兰特·奈特(0255));
r=下一个随机数(0,(130/3));
x=下一个随机数(0130);
y=下一个随机数(0,30);
gfx.抽屉(钢笔,x-r,y-r,r,r);
}
}
//添加问题
gfx。抽绳(验证码,新字体(“Tahoma”,15),画笔。灰色,2,3);
//以Jpeg格式渲染
保存(mem,System.Drawing.Imaging.ImageFormat.bmp);
img=this.File(mem.GetBuffer(),“image/Jpeg”);//获取.File的错误
}
返回img;
}
}

有没有办法解决这些错误

我最终用这个代码解决了:

   //render as Jpeg
   bmp.Save(mem, ImageFormat.Jpeg);
   byte[] imageBytes = mem.ToArray();
   string base64String = Convert.ToBase64String(imageBytes);
   //img = this.File(mem.GetBuffer(), "image/Jpeg");
   return base64String;
}
//return img;

我最终用这个代码解决了:

   //render as Jpeg
   bmp.Save(mem, ImageFormat.Jpeg);
   byte[] imageBytes = mem.ToArray();
   string base64String = Convert.ToBase64String(imageBytes);
   //img = this.File(mem.GetBuffer(), "image/Jpeg");
   return base64String;
}
//return img;
为了称为“这些错误”,请提供错误文本。为了称为“这些错误”,请提供错误文本。