我的godaddy服务器中有一个文件,我需要将该文件移动到我的本地系统。例如:我的远程位置是192.xxx.xxx.xxx/Infoware/Images,我需要将一些图像从我的godaddy服务器中的“Images”文件夹移动到我的本地PC。
答案 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!");
}