LP1*_*P13 -3 c# stream httpclient
我正在尝试使用HttpClient.GetStreamAsync()方法下载文件。但是,这里有一个问题。GetStreamAsync()方法返回只读流,因此我无法使用Length属性声明IM试图读取字节的字节数组缓冲区。
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);
}
Run Code Online (Sandbox Code Playgroud)
您可以将其读入a MemoryStream并从那里获取字节数组:
using (var file = await _httpClient.GetStreamAsync(url).ConfigureAwait(false))
using (var memoryStream = new MemoryStream())
{
await file.CopyToAsync(memoryStream);
return memoryStream.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6127 次 |
| 最近记录: |