Я изучаю, как использовать HTTP-запросы и webclient в формах окон C#. В настоящее время я получил следующий код от Example, и я пытаюсь заставить его работать, а также понимать его.Загрузить файлы с C# Windows Forms и webclient
Код успешно выполнен и отображает окно «Завершить загрузку», но фактически не загружает файл. Кто-нибудь объяснит мне, как это работает и что я делаю неправильно?
private void btnDownload_Click(object sender, EventArgs e)
{
string filepath = txtBxSaveTo.Text.ToString();
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri("http://download.thinkbroadband.com/10MB.zip"), filepath);
}
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar.Value = e.ProgressPercentage;
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Download completed!");
}
private void btnSavetoLocation_Click(object sender, EventArgs e)
{
FolderBrowserDialog selectedFolder = new FolderBrowserDialog();
if (selectedFolder.ShowDialog() == DialogResult.OK)
{
txtBxSaveTo.Text = selectedFolder.SelectedPath;
}
}
}
}
В обработчике 'Completed' попробуйте проверить' e.Error' и 'e.Cancelled' https://msdn.microsoft.com/en-us/library/system.componentmodel.asynccompletedeventargs(v=vs.110) .aspx –