C# 获取标签中的http文件大小、下载位置和URL

C# 获取标签中的http文件大小、下载位置和URL,c#,winforms,download,progress-bar,webclient,C#,Winforms,Download,Progress Bar,Webclient,我正在使用此功能下载文件并获取%info和已完成的信息。我想知道如何获取正在下载的文件的大小以及URL远程地址和文件保存到的本地地址 private void Form1_Load_1(object sender, EventArgs e) { label21.Text = "Download in progress..."; WebClient webClient = new WebClient(); webClient.Downlo

我正在使用此功能下载文件并获取%info和已完成的信息。我想知道如何获取正在下载的文件的大小以及URL远程地址和文件保存到的本地地址

private void Form1_Load_1(object sender, EventArgs e)
        {
     label21.Text = "Download in progress...";
            WebClient webClient = new WebClient();
     webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
     webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
     webClient.DownloadFileAsync(new Uri("http://www.somesite.com/Update/Updates.zip.010"), @"Updates.zip.010");
 }

private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage; //Progress Bar Handler
            label1.Visible = true;
            label1.Text = progressBar1.Value.ToString() + " %"; //Adds percent to a label
        }

private void Completed(object sender, AsyncCompletedEventArgs e)
        {
            label11.Visible = true;
            label11.Text = "Done";
        }

我只是重写了Jay写的关于他自己问题的评论,以便更容易阅读:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://cdn.sstatic.net/stackoverflow/img/favicon.ico");
req.Method = "HEAD";
// HttpWebRequest.GetResponse(): From MSDN: The actual instance returned
// is an HttpWebResponse, and can be typecast to that class to access 
// HTTP-specific properties. 
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
long len = resp.ContentLength;

我刚刚意识到这正是问题中的内容,也许这个问题应该被标记为重复?

我只是将Jay写的内容改写为对他自己问题的评论,以便更容易阅读:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://cdn.sstatic.net/stackoverflow/img/favicon.ico");
req.Method = "HEAD";
// HttpWebRequest.GetResponse(): From MSDN: The actual instance returned
// is an HttpWebResponse, and can be typecast to that class to access 
// HTTP-specific properties. 
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
long len = resp.ContentLength;

刚刚意识到这正是问题所在,也许这个问题应该标记为重复?

你能添加正确的语言标记吗?这是ASP.NET应用程序还是WinForms?您好,这是C windows窗体。那么,让我们这样标记它。是的,现在标记了,谢谢您指出这一点。大脑嘶嘶作响。你能添加正确的语言标记吗?这是ASP.NET应用程序还是WinForms?您好,这是C windows窗体。那么,让我们这样标记它。是的,它现在被标记了。谢谢您指出这一点。大脑嘶嘶作响。