我使用以下代码从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请求期间发生异常。
答案 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));
}