使用C#从服务器获取文件到本地PC

时间:2015-11-19 10:37:38

标签: c# asp.net

我的godaddy服务器中有一个文件,我需要将该文件移动到我的本地系统。例如:我的远程位置是192.xxx.xxx.xxx/Infoware/Images,我需要将一些图像从我的godaddy服务器中的“Images”文件夹移动到我的本地PC。

1 个答案:

答案 0 :(得分:0)

如果我理解你,你只想下载一个文件。

根据您尝试构建的应用程序类型,您可以同步或异步执行此操作。

不同之处在于,如果您同步下载文件 ,您的程序/线程将等待下载完成,然后继续。

如果您下载文件异步,您的程序会在下载文件时继续运行,您必须在下载完成时进行处理。优点是,如果您编写Windows窗体应用程序,它会保持被动,您可以更新,例如进度条。

对于只下载文件而不需要报告进度的控制台应用程序,同步方式就足够了。

同步示例:

using System.Net;

WebClient webClient = new WebClient();
webClient.DownloadFile("http://example.com/myfile.txt", @"c:\myfile.txt");

异步示例:

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://example.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!");
}

示例来自:http://www.csharp-examples.net/download-files/