C# 获取标签中的http文件大小、下载位置和URL
我正在使用此功能下载文件并获取%info和已完成的信息。我想知道如何获取正在下载的文件的大小以及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
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窗体。那么,让我们这样标记它。是的,它现在被标记了。谢谢您指出这一点。大脑嘶嘶作响。