这是一个获取验证码的过程,http是一个用HttpWebRequest写的类,返回一个图片流。
Stream stream = http.GetStream(verifycode_url, cookies);
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
这一句总是报错,参数无效
但是在调试的时候完全没有问题,试了很多次,每次都OK的。
但是直接运行的话90%都要报错,不断的重复偶尔也会出来。这个问题可能出在哪儿呢?streamHttpWebRequestImage.FromStream

解决方案 »

  1.   

    是不是http.GetStream(verifycode_url, cookies);有时候会返回null?Stream stream = http.GetStream(verifycode_url, cookies);
     System.Drawing.Image img =null;
    if(stream!=null)
    {
     img=System.Drawing.Image.FromStream(stream);
    }
    else
    {
      MessageBox.Show("获取图片流失败!");
    }
     
      

  2.   


    谢谢你的回复,返回值没有null,都能成功获取到流。就是转换图片的时候出错了。PS:
    经过我再次测试,调试状态的时候也会出错。
      

  3.   

    可能是自动跳转的问题,手动获取吧。
    设置httpWebRequest.AllowAutoRedirect = false;
    得到httpWebResponse后查看其Headers中的location标头的值,这个一般就是真实图片地址了。