gpt4 book ai didi

C# WebClient 下载文件到绝对路径

转载 作者:行者123 更新时间:2023-12-04 12:29:46 32 4
gpt4 key购买 nike

我正在使用 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, path);
}
使用此代码,文件将保存在项目文件夹中,文件名为 C:\Users\User\file.txt , 而不是保存在目录 C:\Users\User与文件名 file.txt .
反斜杠和冒号被一些特殊字符替换,因为它们不允许出现在文件名中。

最佳答案

更新
这对我有用:

using (WebClient client = new WebClient()) {
client.DownloadFile("https://localhost:5001/", @"D:\file.html");
}
根据这个和 other answers ,您的绝对路径应该可以工作。您确定您的路径格式正确并且目标文件夹存在吗?
原答案
如果所有其他方法都失败,请使用此选项,因为保存到有效文件夹应该可以工作。 WebClient.DownloadFile将下载到当前应用程序的位置(由 Application.Startup 指定)的相对路径。来自 docs :

Parameters

address Uri
The URI specified as a String, from which to download data.

fileName String
The name of the local file that is to receive the data.


如果您打算使用 WebClient ,您需要在下载文件后移动文件,例如
// Download to a local file.
using (var client = new WebClient())
{
client.DownloadFile(url, fileName);
}

// Get the full path of the download and the destination folder.
string fromPath = Path.Combine(Application.StartupPath, fileName);
string toPath = Path.Combine(destinationFolder, fileName);

// Move the file.
File.Move(fromPath, toPath);

关于C# WebClient 下载文件到绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66354435/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com