2017-08-30 92 views
3

在.Net 4.0中我使用WebClient從URL下載文件並將它們保存在本地驅動器中。但是我無法在.Net Core中實現同樣的功能。在.Net Core中將文件從url下載到本地設備

任何人都可以幫我解決這個問題嗎?

+0

你確定asp.net-core-mvc是正確的標籤嗎?從你的問題來看,你似乎在談論客戶端軟件。無論哪種方式:如果你想下載文件,使用'HttpClient'。 – jAC

回答

4

WebClient不適用於.NET Core。的HttpClientSystem.Net.Http的使用是強制性的,因此:

using System.Net.Http; 
using System.Threading.Tasks; 
... 
public static async Task<byte[]> DownloadFile(string url) 
{ 
    using (var client = new HttpClient()) 
    { 

     using (var result = await client.GetAsync(url)) 
     { 
      if (result.IsSuccessStatusCode) 
      { 
       return await result.Content.ReadAsByteArrayAsync(); 
      } 

     } 
    } 
    return null; 
} 
0

您可以使用HttpClient從System.Net.Http。我建議使用.NET Core 2.0。

public async Task<bool> Download() 
{ 
     var client = new HttpClient(); 

     var response = await client.GetAsync("https://github.com/twbs/bootstrap/releases/download/v4.0.0-beta/bootstrap-4.0.0-beta-dist.zip"); 

     using(var fs = new FileStream(@"c:\_data\bootstrap-4.0.0-beta-dist.zip", FileMode.Create)) 
     { 
      await response.Content.ReadAsStreamAsync().Result.CopyToAsync(fs); 
     } 

     return true; 
} 
相關問題