我正在使用控制台应用程序中的以下代码从Web下载图像文件.
WebClient client = new WebClient();
client.DownloadFile(string address_of_image_file,string filename);
Run Code Online (Sandbox Code Playgroud)
代码运行得非常好.
我想知道在下载之前是否有办法可以获得此图像文件的大小.
PS-实际上我已编写代码来制作一个爬行器,它可以在站点下载图像文件.所以我事先并不知道它的大小.我所拥有的只是从网页源中提取的文件的完整路径.
Met*_*Man 17
这是一个简单的例子,如果您有不同扩展名的文件,如.GIF,.JPG等,您可以尝试创建变量或将代码包装在Switch Case Statement中
System.Net.WebClient client = new System.Net.WebClient();
client.OpenRead("http://someURL.com/Images/MyImage.jpg");
Int64 bytes_total= Convert.ToInt64(client.ResponseHeaders["Content-Length"])
MessageBox.Show(bytes_total.ToString() + " Bytes");
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用此代码:
using System.Net;
public long GetFileSize(string url)
{
long result = 0;
WebRequest req = WebRequest.Create(url);
req.Method = "HEAD";
using (WebResponse resp = req.GetResponse())
{
if (long.TryParse(resp.Headers.Get("Content-Length"), out long contentLength))
{
result = contentLength;
}
}
return result;
}
Run Code Online (Sandbox Code Playgroud)