我正在寻找一种C#语言的解决方案,它可以将System.IO.Stream转换为byte []。我已经尝试了下面的代码,但我接收byte []为空。有人能指导我从下面的代码中缺少的东西吗?我从Alfresco Web服务获得,除非保存到临时位置,否则我无法读取该文件。转换System.IO.Stream为字节[]
private static byte[] ReadFile(Stream fileStream)
{
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, Convert.ToInt32(fileStream.Length));
fileStream.Close();
return bytes;
//using (MemoryStream ms = new MemoryStream())
//{
// int read;
// while ((read = fileStream.Read(bytes, 0, bytes.Length)) > 0)
// {
// fileStream.CopyTo(ms);
// }
// return ms.ToArray();
//}
}
检查:https://stackoverflow.com/questions/221925/creating-a-byte-array-from-a-stream –
流可以是巨大的(大于允许的数组大小),或者甚至是无限的大小;从一般意义上讲,这不是一个好主意! –