检查 GetStreamAsync 状态

Check GetStreamAsync status

通过 GetStreamAsync 抓取图像,如何确定状态?

HttpClient OpenClient = new HttpClient();
Stream firstImageStream = OpenClient.GetStreamAsync("imageUrl.jpg").Result;

有时这会报错(通常是 403 或 404),我只是想跳过处理这些结果。

我能找到的所有内容都说使用 StatusCode 属性 或 IsSuccessStatusCode,但这些似乎只适用于来自 GetAsync 的 HttpResponseMessage,它确实不给我 Stream 我需要处理图像。

流没有响应状态代码。您需要先获取HttpResponseMessage,检查状态码,然后读入流。

HttpClient OpenClient = new HttpClient();
var response = await OpenClient.GetAsync("imageUrl.jpg");
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
    Stream stream = await response.Content.ReadAsStreamAsync();
}