Ich versuche, eine Datei herunterzuladen, die auf megal.nz mit C# gehostet wird. Ich verwende MegaApiClient, aber ich kann nicht verstehen, wie kann ich den Download-Fortschritt mit dieser Funktion erhalten:Wie bekomme ich den Fortschritt einer asynchronen Methode, die einen IProgress <T> Parameter verwendet?
public Task DownloadFileAsync(Uri uri, string outputFile, IProgress<double> progress)
{
return Task.Run((Action) (() =>
{
if (string.IsNullOrEmpty(outputFile))
throw new ArgumentNullException("outputFile");
using (Stream stream = (Stream) new ProgressionStream(this.Download(uri), progress))
this.SaveStream(stream, outputFile);
}));
}
Was ich bisher:
var client = new MegaApiClient();
client.LoginAnonymous();
IProgress<double> ze = null;
client.DownloadFileAsync(new Uri("https://mega.nz/#!Yo0l2YiQ!hW7Hzqrjlm3-zO31oof_dQ6Wd23YsIT5ZI8v-9Fau2s"), Directory.GetCurrentDirectory() + "\\ze.rar", ze);
Wie kann ich Fortschritte abrufen?
Es funktioniert, obwohl ich neue Progress tun musste! Vielen Dank! –
Ja, hast du. Das ist, was ich bekomme, um nicht sicher zu sein, dass meine Antwort kompiliert. :) – jdphenix