本帖最后由 sia0328 于 2012-05-01 09:24:59 编辑

解决方案 »

  1.   

    数据流是网络上获取下来的gif图片是否存在,可能你没获取到那张图的流。你可以换成网上另一张图片试试
      

  2.   

    图片的是存在的,我查过response,里面是有数据
    而且这程序我在win7本地运行是没问题的,可以下载图片,就是在2003上面出问题,郁闷死了
      

  3.   

    抛出的异常就是说Image.FromStream (参数无效)
    郁闷
      

  4.   

    参考 
    http://topic.csdn.net/t/20050702/17/4118959.html
    http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/9bedb5ca-975c-4fc2-85ce-5ebff26ea7d8/
      

  5.   

    没有设置代理服务器,而且这个图片在IE下是能打开的,图片是能看到的,是有效的,可能是不规范的GIF格式吧
    所以有没有办法导入这种非标准的图片格式流呢?
      

  6.   

    请不要发网址了,网上的相关资料我全部都看过,GOOGLE ,百度能查到的,我都看过
    还有,我说的参数无效是异常,实际上这个参数是一张图片,这张图片用IE是能打的开的,就是可能是非标准的,有什么办法能使他标准起来?
      

  7.   

     private static void TestImageFromStream()
            {
                string str = @"http://www.XXXX.1.gif";
                FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read);
                BinaryReader by = new BinaryReader(fs);
                int length = (int)fs.Length;
                byte[] imgbyte = by.ReadBytes(length);            MemoryStream ms = new MemoryStream(imgbyte);
                ms.Seek(0, SeekOrigin.Begin);
                Image image = Image.FromStream(ms);
            }
      

  8.   

    Image.FromStream();这个函数里的参数是图片的二进制数据,如果你放的是图片的路径的话,就会参数无效,你可以直接image控件.image=图片路径,这样访问
      

  9.   


                MemoryStream m = new MemoryStream((byte[])byteImage);
      

  10.   


     FileStream f = new FileStream("dizhi",FileMode.Open,FileAccess.Read);
     BinaryReader b = new BinaryReader(f);
     byte[] byteImage = b.ReadBytes((int)f.Length); MemoryStream m = new MemoryStream((byte[])byteImage);
     Image image = Image.formStream(m);
    今天在书店看到的
      

  11.   

    哦 我这个是保存到数据库中是 SqlDbType.Image  类型的  数据库中读取出来 需要转换成byte[]
     MemoryStream m = new MemoryStream((byte[])byteImage);
    你的是不是也是从数据库中读取的呢~