gpt4 book ai didi

C# Webclient 下载多个文件

转载 作者:行者123 更新时间:2023-11-30 22:29:48 25 4
gpt4 key购买 nike

我还有一个问题:(.
我正在尝试为我的应用程序下载多个文件。

我的问题是:我需要做什么来检查第一次下载是否完成,然后继续进行第二次下载等等?

这是我的自动取款机代码:

        private void DownloadBukkit()
{
MySingleton.Instance.FirstStartProgress = "Downloading Bukkit.jar... Please stand by...";
webClient.DownloadFileAsync(new Uri(MySingleton.Instance.BukkitDownloadLink), Jar_Location);
webClient.DownloadProgressChanged += backgroundWorker1_ProgressChanged;
webClient.DownloadFileCompleted += (webClient_DownloadFileCompleted);
}

private void DownloadDll()
{
if (!webClient.IsBusy)
{
MySingleton.Instance.FirstStartProgress = "Downloading HtmlAgilityPack.dll... Please stand by...";
webClient2.DownloadFileAsync(new Uri(Dll_HtmlAgilityPackUrl), Dll_HtmlAgilityPackLocation);
webClient2.DownloadProgressChanged += backgroundWorker1_ProgressChanged;
webClient2.DownloadFileCompleted += (webClient2_DownloadFileCompleted);
}
}

void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
DownloadDll();
}


void webClient2_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
Invoke((MethodInvoker)
Close);
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
Invoke((MethodInvoker)
delegate
{
labelProgress.Text = MySingleton.Instance.FirstStartProgress;
progressBar1.Value = e.ProgressPercentage;
});
}

我检查了这个链接:DownloadFileAsync multiple files using webclient但我真的不明白如何植入这个 :(。(我对 C# 很陌生)

最佳答案

DownloadFileCompleted事件是您知道文件下载完成的信号。

来自 MSDN:

This event is raised each time an asynchronous file download operation completes.

从您的代码中不清楚 webClient 和 webClient2 的声明位置和方式,但本质上,您可以在触发第一个 DownloadFileCompleted 事件时开始第二次下载。但是请注意,如果您使用 WebClient 的 2 个单独实例,则可以同时执行 2 个不同文件的下载。

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

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