none
绘制验证码出现“GDI+ 中发生一般性错误” RRS feed

  • 问题

  • 首先程序在我本地测试是没有问题的(Windows7 + IIS7)、但是我放到服务器上就抛出一样、“一般性错误”、我反复看了好几遍代码、都没看出来哪里可能出问题、

    大致绘制方法就是这样、反复检查服务器环境和本地测试环境、除了系统以外都是一样的。IIS7、framework版本也一致、

     

     

    			using (Bitmap bmp = new Bitmap(500, 400))
    			{
    				using (Graphics graphics = Graphics.FromImage(bmp))
    				{
    					graphics.Clear(Color.White);
    					graphics.DrawString("Text",
    						new Font("Arial", 14), Brushes.Gray, new RectangleF(300, 320, 380, 100));
    				}
    				Response.Clear();
    				Response.ContentType = "image/x-png";
    				bmp.Save(Response.OutputStream, ImageFormat.Png);
    			}
    


    这个一般性错误到底是什么错误呢?

     

    错误信息如下、看样子就是在bmp.Save方法调用的时候抛出的、

    [ExternalException (0x80004005): GDI+ 中发生一般性错误。]
      System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +463938
      System.Drawing.Image.Save(Stream stream, ImageFormat format) +36
      ImitationBaiduPostBar.vCode.ProcessRequest(HttpContext context) +3116
      System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
      System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
    


    • 已编辑 4-Dream 2011年8月27日 7:14 补充说明
    2011年8月27日 7:11

答案

全部回复