2016-03-21 7 views
1

Ich versuche, einen App-Store zu bauen, aber ich habe ein Problem mit meinem Downloader Ich versuche, eine Datei Downloader erstellen, aber es funktioniert überhaupt nicht !!! Und mein visual sagt mir immer noch, dass meine App keine Fehler in Codes hat! O denke, dass das Problem mit der direkten Verbindung von OneDrive! Plz helfen mir der Code:So erstellen Sie einen Onedrive-Datei-Downloader in C#

[C#]

private void btnDownload_Click(object sender, EventArgs e) 
{ 
    WebClient webClient = new WebClient(); 
    webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); 
    webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); 
webClient.DownloadFileAsync(new Uri(url.Text), path.Text ;) 

private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e) 
    { 
    progressBar.Value = e.ProgressPercentage; 
} 

private void Completed(object sender, AsyncCompletedEventArgs e) 
{ 
    MessageBox.Show("Download completed!"); 
} 
+1

Erhalten Sie die 'NotWorkingAtAllException' oder etwas anderes? siehe: [Ask] und bitte nimm die [Tour] – Plutonix

+0

Ich bekomme nichts, nur nicht funktionieren !! – louay

+0

@louysleman Beispiele für mögliche Probleme: * "Wenn ich auf den Button klicke, passiert nichts und es werden keine Breakpoints getroffen." "Wenn diese Zeile erreicht wird, wird eine Ausnahme vom X-Typ ausgelöst." "Meine Rückruffunktionen werden nie aufgerufen." * Nur zu sagen "es funktioniert nicht" hilft uns oder Ihnen nicht. – Katana314

Antwort

4

Ich denke, Ihre URL falsch ist. Wenn Sie einen Link zu Ihrer Datei teilen sieht es so aus:

https://onedrive.live.com/redir?resid=698A32FCADE8DFDA%2121825

Sie haben die redir von download zu ersetzen, und es wird die Datei auf dem Speicherort herunterladen:

string path = @"your storage location"; 
string source = "https://onedrive.live.com/download?resid=698A32FCADE8DFDA%2121825";//right download url 
//string source = "https://onedrive.live.com/redir?resid=698A32FCADE8DFDA%2121825";//wrong download url 

WebClient webClient = new WebClient(); 
webClient.DownloadFileCompleted += WebClient_DownloadFileCompleted; 
webClient.DownloadProgressChanged += WebClient_DownloadProgressChanged; 
webClient.DownloadFileAsync(new Uri(source), path); 

Alternativ können Sie diesen Link einfach in Ihrem Browser öffnen und die Datei wird automatisch in Ihr Download-Verzeichnis heruntergeladen:

Process.Start("https://onedrive.live.com/download?resid=698A32FCADE8DFDA%2121825"); 
+0

Ich werde das versuchen !! Danke – louay

+1

danke, es funktioniert jetzt :) – louay

Verwandte Themen