C#网络客户端下载文件到绝对路径
我正在使用ASP.NET Core并尝试将文件下载到绝对路径 但我遇到的问题是,文件总是下载到项目目录中,而文件名本身会获得整个路径的名称 我的代码:C#网络客户端下载文件到绝对路径,c#,webclient,C#,Webclient,我正在使用ASP.NET Core并尝试将文件下载到绝对路径 但我遇到的问题是,文件总是下载到项目目录中,而文件名本身会获得整个路径的名称 我的代码: string path = @"C:\Users\User\file.txt"; string url = "https://example.com/file.txt"; using (var client = new WebClient()) { client.DownloadFile(url,
string path = @"C:\Users\User\file.txt";
string url = "https://example.com/file.txt";
using (var client = new WebClient())
{
client.DownloadFile(url, path);
}
使用此代码,文件将以文件名C:\Users\User\file.txt
保存在项目文件夹中,而不是以文件名file.txt
保存在目录C:\Users\User
中
反斜杠和冒号将替换为一些特殊字符,因为文件名中不允许使用这些字符。Update
这对我很有用:
使用(WebClient=newWebClient()){
client.DownloadFile(“https://localhost:5001/“,@“D:\file.html”);
}
根据这一点,你的绝对路径应该是有效的。是否确定路径格式正确且目标文件夹存在
原始答案
如果所有其他操作都失败,请使用此选项,因为保存到有效文件夹应该可以工作
WebClient.DownloadFile
将下载到当前应用程序的位置(由application.Startup
指定)以获得相对路径。从:
参数
地址Uri
指定为字符串的URI,从中下载数据
文件名字符串
要接收数据的本地文件的名称 如果要使用
WebClient
,则需要在下载文件后移动该文件,例如
//下载到本地文件。
使用(var client=new WebClient())
{
client.DownloadFile(url、文件名);
}
//获取下载和目标文件夹的完整路径。
字符串fromPath=Path.Combine(Application.StartupPath,文件名);
字符串toPath=Path.Combine(destinationFolder,fileName);
//移动文件。
Move(fromPath,toPath);