检查GetStreamAsync状态
通过GetStreamAsync
抓取图像,我如何确定状态?检查GetStreamAsync状态
HttpClient OpenClient = new HttpClient();
Stream firstImageStream = OpenClient.GetStreamAsync("imageUrl.jpg").Result;
有时这会给出错误(通常为403或404),我只是想跳过处理这些结果。
所有我能找到的表示使用StatusCode
财产或IsSuccessStatusCode
,但这些似乎对HttpResponseMessage
唯一的工作,这是从GetAsync,不给我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();
}
'System.Threading.Tasks.Task
你没有等待任务。检查我上面的代码:var response = ** await ** OpenClient.GetAsync(“imageUrl.jpg”); – Pharylon
如果您不打算实际使用您应该使用的异步代码[WebClient](https://msdn.microsoft.com/en-us /library/system.net.webclient(v=vs.110).aspx)并使用它的非异步方法。 –