日期:2014-05-19  浏览次数:21082 次

byte[] 和 stream 转换问题!
string   sPath   =   "C:\\Documents   and   Settings\\Administrator\\My   Documents\\My   Pictures\\82501.jpg ";
FileStream   fStream   =   new   FileStream(sPath,FileMode.Open);

long   iLen   =   fStream.Length;
byte[]   bts   =   new   byte[iLen]   ;
fStream.Write(bts,0,bts.Length);


Stream   stream   =   new   MemoryStream(bts,0,bts.Length);


请高手指教一下,上面这种方式把一个Stream转换成byte[]再转换成Stream对不对?

如果对的话,那么再执行下面的步骤怎么就会出错?

Image   image   =   Image.FromStream(stream);

这中间是不是有什么问题啊?多谢了!


------解决方案--------------------
long iLen = fStream.Length;
byte[] bts = new byte[iLen] ;
这个时候你的bts数组中是空的,什么都没有写入,只是定义了数组的长度。
然后你fStream.Write(bts,0,bts.Length);
你什么都没有写入进去,淡然会出错了。
你需要一个读写器进行读写