下载文件

时间:2012-09-27 21:10:36

标签: c# winforms download

我使用以下代码从C#windows应用程序中的特定网址下载文件。

private void button1_Click(object sender, EventArgs e)
{
    string url = @"DOWNLOADLINK";
    WebClient web = new WebClient();
    web.DownloadFileCompleted += new AsyncCompletedEventHandler(web_DownloadFileCompleted);
    web.DownloadFile(new Uri(url), @"F:\a");
}

void web_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
    MessageBox.Show("The file has been downloaded");
}

但是这行有一个错误:web.DownloadFile(new Uri(url), @"F:\a");

它说:

  

WebClient请求期间发生异常。

1 个答案:

答案 0 :(得分:2)

如果您使用DownloadFile而不是DownloadFileAsync,则无需事件处理程序。

更新:从聊天中发现,OP希望文件系统上的文件名能够反映URL末尾指定的文件名。这是解决方案:

private void button1_Click(object sender, EventArgs e)
{
    Uri uri = new Uri("http://www.yourserver/path/to/yourfile.zip");
    string filename = Path.GetFileName(uri.LocalPath);

    WebClient web = new WebClient();
    web.DownloadFile(new Uri(url), Path.Combine(@"f:\", filename));
}