通过GetStreamAsync
抓取图片,如何确定状态?
HttpClient OpenClient = new HttpClient();
Stream firstImageStream = OpenClient.GetStreamAsync("imageUrl.jpg").Result;
有时这会产生错误(通常为403或404),我只想跳过处理这些结果。
我所能找到的只是说使用StatusCode
属性或IsSuccessStatusCode
,但这些似乎只适用于HttpResponseMessage
,来自GetAsync,它不会给我Stream
1}}我需要处理图像。
答案 0 :(得分:2)
该流没有响应状态代码。您需要先获取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();
}