2016-03-21 4 views
1

私はアプリケーションストアを構築しようとしていますが、ダウンローダに問題があります。ファイルダウンローダを作成しようとしましたが、 私の視覚は、私のアプリはコードにエラーがないことを私に伝えています! O OneDriveからの直接リンクの問題だと思います! Plzは私を助けるコードは次のとおりです。Cドライブでonedriveファイルダウンローダを作成するにはどうすればいいですか?

[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

あなたは 'NotWorkingAtAllException'や何か他のものを取得していますか?参照:[お問い合わせ]と[ツアー]を取ってください – Plutonix

+0

私は何もしないだけで動作しない! – louay

+0

@ loulesleman考えられる問題の例:*「ボタンをクリックすると、何も起こりませんし、ブレークポイントがヒットしません。 "この行に達すると、X型の例外がスローされます。" 「私のコールバック関数は決して呼び出されません」*単に「機能していません」と言っても私たちやあなたにとっては役に立ちません。 – Katana314

答えて

4

私はあなたのURLが間違っていると思います。あなたはdownloadによってredirを交換する必要があり、それはあなたの保管場所にファイルをダウンロードします

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

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); 
あなたのファイルへのリンクを共有している場合のように見えます

代わりに、あなたのブラウザでこのリンクを開くだけで、ファイルはダウンロードディレクトリに自動的にダウンロードされます:

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

私はこれを試してみましょう!ありがとう、 – louay

+1

ありがとう、それは今働いています:) – louay

関連する問題