UrlDownloadToFile
-
Wie genau kann ich das Callback eines UrlDownLoadToFile()-Aufrufs definieren ?
gibt es da noch andere methoden die evtl. einfacher sind oder ist das die beste methode ?
-
ok ich habe eine lösung gefunden :
static WebClient^ instFile = gcnew WebClient(); void download(){ if ( File::Exists("google.html")) { File::Delete( "google.html" ); } DeleteUrlCacheEntry(TEXT("www.google.de")); Uri^ file = gcnew Uri("www.google.de"); instFile->DownloadFileCompleted += gcnew AsyncCompletedEventHandler(this, &updates::DownloadFile ); instFile->DownloadProgressChanged += gcnew DownloadProgressChangedEventHandler(this, &updates::ProgressFile ); instFile->DownloadFileAsync(file,getDirS(L"Mepla_ISO_setup.msi")); }
Dann außerhalb der funktion oben
/**** Tritt ein, wenn der asyncrone download abgeschlossen ist ! ****/ private: System::Void DownloadFile(Object^ sender, AsyncCompletedEventArgs^ e) { dwnLoadButton->Text = "Download completed!"; dwnLoadButton->Enabled = false; instButton->Enabled = true; } // Tritt während des Downloads ein // private: System::Void ProgressFile(Object^ sender, DownloadProgressChangedEventArgs^ e) { FileInfo^ file = gcnew FileInfo(getDirS(L"google.html")); progressBar1->Value = e->ProgressPercentage; dwnProgressBytes->Text = String::Format("{0:0.00} MB loaded !",file->Length/1000000.); }
dwnLoadButton ist der button auf den geklickt wird, um den download zu starten und progressBar1 gibt die aktuelle fortschrittsanzeige in prozent an !