gpt4 book ai didi

C# 下载一系列文件

转载 作者:行者123 更新时间:2023-11-30 17:58:51 25 4
gpt4 key购买 nike

我知道有人问过一些关于如何使用 WebClient 下载文件的类似问题。我可以完美地下载单个文件,但我想下载一系列文件。 1-6000 个文件中的任何位置。我可以将它们很好地下载到我当前的目录中,但我对如何根据下载它们的位置将它们下载到不同的目录感到困惑。我是否需要在下载它们之前临时更改当前工作目录?

关于同一主题,我一直在研究如何在下载文件之前验证文件是否存在。我不想用空文件浪费带宽或磁盘空间。这是我目前拥有的:

            for (int x = 1; x <= 6000; x++)
{
pbsscount = x.ToString();

// Used for downloading file
string directoryName = textBox1.Text.ToString().Replace(":", "_");
if (!Directory.Exists(textBox1.Text))

Directory.CreateDirectory(directoryName.Substring(7));
string wholePBSSurl = textBox1.Text + "/" + "pb" + pbsscount.PadLeft(6, '0') + ".png";

// Used for saving file, file name in directory
string partPBSSurl = "pb" + pbsscount.PadLeft(6, '0') + ".png";

Uri uri2 = new Uri(wholePBSSurl);

//if (fileExists(wholePBSSurl))
//{

// Initialize downloading info, grab progressbar info
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);

// Save file to folder
//webClient.DownloadFileAsync(uri2, textBox1.Text + "/" + partPBSSurl);
webClient.DownloadFileAsync(uri2, partPBSSurl);
//}
}

最佳答案

Do I need to temporarily change the current working directory just before downloading them?

第二个参数可以是完整路径@"C:\folder\file.png" .如果您对当前目录的相对路径没问题,只需将代码更改为 webClient.DownloadFileAsync(uri2, directoryName + partPBSSurl);甚至更好地使用 System.Path.Combine(directoryName, partPBSSurl)

如果服务器支持,你当然可以知道大小。请参阅:How to get the file size from http headers

I don't want to waste bandwidth or diskspace with empty files.

我不会为此担心。性能下降可以忽略不计。

关于C# 下载一系列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838965/

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