HttpClient でファイルを非同期でダウンロードする

HttpClient でファイルを非同期でダウンロードする方法。

  • System.Net.Http を参照設定しておく
  • using System.Net.Http; using System.IO; しておく

以下、コード。

private async void downloadFileAsync (string uri, string outputPath)
{
    var client = new HttpClient();
    HttpResponseMessage res = await client.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead);

    using (var fileStream = File.Create(outputPath))
    {
        using (var httpStream = await res.Content.ReadAsStreamAsync())
        {
            httpStream.CopyTo(fileStream);
            fileStream.Flush();
        }
    }
}