关于C#:将字节数组转换为流

Converting a bytes array to stream

本问题已经有最佳答案,请猛点这里访问。

是否有一种方法可以将从SQL Server返回的字节数组转换为C中的流对象?我想做下面这样的事情

1
2
3
4
5
6
7
FileStream fs = new FileStream(@"C:\Users\sample\sample\sample.txt", FileMode.Open, FileAccess.Read);
fs.Seek(0, SeekOrigin.Begin);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
//bytes array will be saved in the database
//The following will be returned from the database and i need it to be in a stream
Stream s = (Stream)bytes;

除了varbinary(max)格式之外,还有其他方法可以将其保存在SQL Server中吗?


这很容易。只需使用MemoryStream来转换这个。

1
Stream S = new MemoryStream(bytes);

或者这个。

1
2
3
4
5
6
7
    static void Write(Stream s, Byte[] bytes)
    {
        using (var writer = new BinaryWriter(s))
        {
            writer.Write(bytes);
        }
    }

可以使用MemoryStream类将字节数组转换为Stream对象

1
Stream st = new MemoryStream(bytes);