Download-Dateien mit C# - Windows Forms-und webclient
Ich bin, zu lernen, wie die Verwendung von http-Anfragen und-webclient in der C# - windows forms. Derzeit habe ich bekommen den folgenden code aus Beispiel und ich versuche es so gut funktioniert wie es verstehe.
Den code erfolgreich ausgeführt wird und zeigt die Meldung "Download Complete" - box, aber es nicht tatsächlich die Datei herunterzuladen. Würde mir jemand erklären wie das funktioniert und was ich falsch mache?
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;
}
}
}
}
- In Ihrem
Completed
handler, versuchen, die Kontrollee.Error
unde.Cancelled
msdn.microsoft.com/en-us/library/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für diesen Fall, wenn Sie nur wollen, um die Datei herunterzuladen, möchten Sie vielleicht, um einen Synchron-download aufrufen, statt eine Asynchron aufrufen, wie Sie versuchen, zu implementieren.
Diese kann getan werden in einer Weise ähnlich zu diesem:
Dieser sperrt das Programm, bis die Datei heruntergeladen wird oder ein Fehler Auftritt, aber Sie haben eine Besondere Notwendigkeit, dies zu tun herunterladen Asynchron? Wenn Sie dann die folgende Erklärung, die vielleicht von einigem nutzen sein:
Persönlich würde ich die Verwendung eines Synchronen Aufrufs, in diesem Fall, bis Sie einen besser verstehen, der Asynchrone Aufrufe und die vor-und Nachteile zwischen Ihnen.
txtBxSaveTo.Text.ToString() + "10MB.zip"
? Ich bin neugierig, da du anscheinend das hartcodieren der Pfad zu der Datei auf dem server.Den download-Datei-Methode ist eine Ausnahme zu werfen. ... Auch die nicht-async-Versionen, beginnen mit, bevor Sie zu async.
{"Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung Erforderlich."}