System.IO.FileStream fs = new System.IO.FileStream(path1, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                    byte[] buffByte = new byte[fs.Length];
                    fs.Read(buffByte, 0, (int)fs.Length);
                    fs.Close();      byte[] buffer = (byte[]) dt.Rows[0]["PIC"];
                            MemoryStream ms = new MemoryStream(buffer);
                            ultraPictureBox1.Image= Image.FromStream(ms);总是报参数无效的错误..搜索了半天了都是这样写的.有一哥们说是写的时候有问题,但不知道哪有问题.求助..'

解决方案 »

  1.   

    Image.FromStream()的参数是stream 不是MemoryStream吧
      

  2.   

    System.IO.FileStream fs = new System.IO.FileStream(@"E:\下载\11.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read);
    byte[] buffByte = new byte[fs.Length];
    fs.Read(buffByte, 0, (int)fs.Length);
    fs.Close();
    MemoryStream ms = new MemoryStream(buffByte);
    pictureBox1.Image= Image.FromStream(ms);
    实验了一下这样写行~~可能是原来的buffer里边没有东西吧~
      

  3.   

    如果图片是从dt.Rows[0]["PIC"];这里获得的那System.IO.FileStream fs是不是根本没必要了?
      

  4.   

    System.IO.FileStream fs = new System.IO.FileStream(path1, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                        byte[] buffByte = new byte[fs.Length];
                        fs.Read(buffByte, 0, (int)fs.Length);
                        fs.Close();      byte[] buffer = (byte[]) dt.Rows[0]["PIC"];
                                MemoryStream ms = new MemoryStream(buffer);
                                ultraPictureBox1.Image= Image.FromStream(ms);
    =================================================================================
    buffByte 是从文件读取出来的buffer 是从dt中取得的 你的意思是buffbyte取得后 你又把它放入了datatable中吗?如果不是 那么是这里的问题参数错误 应该是你的buffer中的内容本身有问题 
      

  5.   

    http://blog.csdn.net/cabxyz/archive/2006/05/15/729211.aspx