![]() |
WebClient.DownloadDataAsync und Fortschritt
Haaaalloooo, erst mal. Ich weeeeiiiiß jaaaa nicht, ooooob sie es schon wuuuuuussten, aber ich muss jetzt mit C# arbeiten. ;)
Dabei habe ich folgendes Problem. Ich mache einen FTP-Download mit DownloadDataAsync:
Code:
Das funktioniert wunderbar. Nur leider sind die Werte e.TotalBytesToReceive -1 und entsprechend e.ProgressPercentage 0. am Webserver kann es nicht liegen, dass dieser die Daten nicht übermittelt, denn mit Filezilla wird ein Fortschritt angezeigt.
void Start () {
ftpRequest = new WebClient(); Debug.Log("Start: " + sourceFilePath + "/" + filename); System.Uri uri = new System.Uri(sourceFilePath + "/" + filename); try { ftpRequest.Credentials = new NetworkCredential(user, password); ftpRequest.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback); ftpRequest.DownloadDataCompleted += new DownloadDataCompletedEventHandler(DownloadCompleteCallback); ftpRequest.DownloadDataAsync(uri); } catch(System.Exception e) { Debug.Log("Start: " + e.Message); } } void DownloadProgressCallback(System.Object sender, DownloadProgressChangedEventArgs e) { bytesReceived += e.BytesReceived; Debug.Log("DownloadProgressCallback: " + bytesReceived + " von " + e.TotalBytesToReceive + " empfangen. " + e.ProgressPercentage + "%"); } Muss ich da noch irgendwas beachten oder wo mache ich da noch einen Fehler? Nachtrag: mache ich die Ausgabe wie folgt:
Code:
Erhalte ich diese Ausgabe: "628,716.00 Bytes von 628,716.00 Bytes empfangen (628716%)" Es haben also alle Eigenschaften den gleichen Wert.
Debug.Log(String.Format("{0:N} Bytes von {0:N} Bytes empfangen ({0:D}%)", bytesReceived, e.TotalBytesToReceive, e.ProgressPercentage));
Crosspost in der Entwickler Ecke: ![]() |
AW: WebClient.DownloadDataAsync und Fortschritt
Zitat:
Richtig wäre:
Code:
Formatstrings sind folgendermassen aufgebaut: {ParameterIndex:FormatArgumente}
Debug.Log(String.Format("{0:N} Bytes von {1:N} Bytes empfangen ({2:D}%)", bytesReceived, e.TotalBytesToReceive, e.ProgressPercentage));
Das heisst mit {0:...} hasst Du überall den gleichen Parameter, nämlich den ersten angezeigt. |
AW: WebClient.DownloadDataAsync und Fortschritt
Ah, OK, das wusste ich nicht. Aber das dürfte nichts daran ändern, dass ich wieder die -1 und die 0 bekomme. :?
|
AW: WebClient.DownloadDataAsync und Fortschritt
Richtig. TotalBytesToReceive ist -1 und progressPercentage ist 0. woran liegt das? Was mache ich falsch?
|
AW: WebClient.DownloadDataAsync und Fortschritt
Schonmal hier geguckt?
![]() |
AW: WebClient.DownloadDataAsync und Fortschritt
Ich wurde gerade in der Entwickler Ecke auf diesen doofen gelben Kasten hingewiesen. :?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz