【发布时间】:2016-12-07 21:49:35
【问题描述】:
我正在尝试使用HttpClient.GetStreamAsync() 方法下载文件。然而这里有一个问题。 GetStreamAsync() 方法返回只读流,所以我不能使用 Length 属性来声明我试图读取字节的字节数组缓冲区。
using (var file = await _httpClient.GetStreamAsync(url).ConfigureAwait(false))
{
// it fails at file.Length below
byte[] blob = new byte[file.Length];
await file.ReadAsync(blob, 0, (int)file.Length).ConfigureAwait(false);
}
【问题讨论】:
-
i cannot use Length property to declare byte array buffer into which im trying to read bytes。流可以返回字节...你不需要声明一个数组... -
顺便说一句:好像你还没试过
byte[] blob = await _httpClient.GetByteArrayAsync。
标签: c# stream httpclient