【发布时间】:2013-01-07 10:33:55
【问题描述】:
我正在使用 WebClient 类从 Web 服务器下载 .exe 文件。这是我用来下载文件的代码:
WebClient webClient = new WebClient();
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
webClient.DownloadDataAsync(new Uri("http://www.blah.com/calc.exe"));
我的应用程序有一个 ProgressBar,它在回调 (webClient_DownloadProgressChanged) 中得到更新:
private void webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar.Value = (int)e.BytesReceived;
}
我遇到的问题是我必须为进度条动态设置Maximum 值。换句话说,我需要知道我正在下载的文件的大小在开始下载之前。
有没有办法在给定 uri 的情况下获取文件的大小(在下载之前)?
【问题讨论】:
标签: c# progress-bar webclient filesize