ReadAsStreamAsync
ReadAsStreamAsync у
HttpContent
возвращает Stream. Текст
"abcde" читают через
StreamReader до конца.
Синтаксис
Stream stream = await content.ReadAsStreamAsync();
Пример
Давайте прочитать поток целиком:
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var content = new StringContent("abcde");
using Stream stream = await content.ReadAsStreamAsync();
using StreamReader reader = new StreamReader(stream);
string res = await reader.ReadToEndAsync();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте прочитать тело из StreamContent:
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var stream = new MemoryStream(Encoding.UTF8.GetBytes("abcde"));
HttpContent content = new StreamContent(stream);
using Stream body = await content.ReadAsStreamAsync();
using StreamReader reader = new StreamReader(body);
string res = await reader.ReadToEndAsync();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверить длину прочитанного текста:
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var content = new StringContent("abcde");
using Stream stream = await content.ReadAsStreamAsync();
using StreamReader reader = new StreamReader(stream);
string text = await reader.ReadToEndAsync();
int res = text.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
5
Смотрите также
-
ReadAsStringAsync,
строка сразу -
StreamContent,
тело из потока -
ReadAsByteArrayAsync,
массив байт -
HttpContent,
базовый класс