0

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

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 请求期间发生异常。

4

1 回答 1

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));
}
于 2012-09-27T21:15:43.993 回答