代码:
using System.IO;
using System.Net;
using System.Net.Http;
/// <summary>
/// HTTP地址文件下载
/// </summary>
/// <param name="url"></param>
/// <param name="destinationPath"></param>
/// <returns></returns>
static async Task DownloadFileAsync(string url, string destinationPath)
{
using (HttpClient client = new HttpClient())
{
try
{
if (!Directory.Exists(fileDerectory))
{
// 如果不存在,则创建路径
Directory.CreateDirectory(fileDerectory);
}
// 发送HTTP GET请求
HttpResponseMessage response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode(); // 确保请求成功
// 创建目标文件的文件流
using (FileStream fileStream = new FileStream(destinationPath, FileMode.Create, FileAccess.Write, FileShare.None))
{
// 将HTTP响应内容写入文件流
await response.Content.CopyToAsync(fileStream);
}
}
catch (Exception ex)
{
// Console.WriteLine($"下载文件时发生错误: {ex.Message}");
}
}
}
下载地址为包含文件名及后缀的完整地址