自訂搜尋

2010/11/12

C# 簡單的檔案下載(Webclient)

比較陽春的下載檔案方法
不過不能用timeout~


WebClient.DownloadFile 方法 (String, String)

WebClient.DownloadFile 方法 (Uri, String)

將具有指定之 URI 的資源下載指本機檔案

public void DownloadFile (
 Uri address,
 string fileName
)

參數

address
指定為 String 的 URI,可以從其中下載資料。
fileName
要接收資料的本機檔案名稱。


WebClient.DownloadFileAsync 方法 (Uri, String)

WebClient.DownloadFileAsync 方法 (Uri, String, Object)


將具有指定之 URI 的資源下載至本機檔案。這個方法不會封鎖呼叫執行緒。

public void DownloadFileAsync (
 Uri address,
 string fileName
)

參數

address
要下載之資源的 URI。
fileName
要置於本機電腦之檔案的名稱。

userToken

使用者定義的物件,這個物件會在非同步作業完成時傳遞至叫用的方法。



using System.Net;
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("http://mysite.com/myfile.txt"), @"c:\myfile.txt");
}

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

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

沒有留言:

張貼留言

讀取中…