2014-04-09 71 views
0

我正在嘗試使用webclient從codeplex.com下載文件。我可以下載一個文件,但它最終不是.zip而是html文件。看起來他們有一個重定向到下載文件的腳本。使用asp.net webclient自動從codeplex.com下載

任何人都有這方面的經驗?

這裏是我的代碼:

protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Download_Click(object sender, EventArgs e) 
     { 
      WebClient webClient = new WebClient(); 
      webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); 
      webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); 
      webClient.DownloadFileAsync(new Uri("http://dotnetnuke.codeplex.com/downloads/get/815672"), @"C:\DNN_Platform_07.02.02_Install.zip"); 
     } 

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

     private void Completed(object sender, AsyncCompletedEventArgs e) 
     { 
      txtStatus.Text("Download completed!"); 
     } 
+0

要下載的zip文件? – voddy

+0

是的,我想下載郵編 – Asmussen

回答

1

修改的下載網址,這和檢查,如果你能下載。

webClient.DownloadFileAsync(new Uri("http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=dotnetnuke&DownloadId=815672&FileTime=130397249034130000&Build=20885"), @"C:\DNN_Platform_07.02.02_Install.zip"); 

這是通過使用Firebug檢查站點獲得的實際URL,當從先前的URL中觸發下載請求時。雖然這適用於當前版本,但我不確定是否會隨着時間推移獲取最新版本。我懷疑文件時間會改變。

+0

這似乎工作!謝謝!你是如何找到該網址的?每次都會發布最新版本嗎? – Asmussen

+0

很高興它工作。我編輯了答案。 – LakshmiNarayanan