[winform]这两天做一个网络实时传输文件遇到的问题。Stream,MemoryStream,FileStream 他们之间如何转换?他们又如何转换为 Byte[];当流非常大时,字节数组不能完全放下,怎样分割为多个Byte[]而有利于网络传输。Byte[]怎样转换为流。我要实时传图片到客户机,客户实时显示。大概 10张每秒,一张jpg 要15k, 一秒就是150k,有什么优化的方法,用gif 太不清晰。要有相关的例子最好,谢谢大家了[email protected]

解决方案 »

  1.   

    图片是什么方式,文件还是image对象?
    前者用FileStream读取byte[]进行发送;
    后者用MemoryStream来保存
    Image => byte[]
    MemoryStream ms = new MemoryStream();
    yourImage.Save( ms, ImageFormat.Jpeg );
    ms.Flush();
    byte[] bData = ms.GetBuffer();//Save it into db
    ms.Close();byte[] => Image
    MemoryStream ms = new MemoryStream( bData, true );
    ms.Read( bData, 0, bData.Length );
    ms.Position = 0;
    Bitmap bit = new Bitmap( ms );至于数据发送,可以分段发送。