我有一张图片的网址。是否可以在不下载完整图像的情况下找出其大小(以字节为单位)和尺寸?
修改
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "HEAD";
HttpWebResponse resp = (HttpWebResponse)(req.GetResponse());
System.Console.WriteLine(resp.ContentLength);
我写了这段代码。它在前两次工作正常,第三次给出WebException
,即“操作超时”,而不管图像url如何。我在这里找不到什么东西吗?
答案 0 :(得分:4)
不,这是不可能的。
您可以通过发出HTTP HEAD
命令(而不是GET
)来获取字节大小;这将仅返回HTTP标头,省略内容。
图像的HTTP标头将以字节为单位返回其大小:
Content-length: 6372
Content-type: image/jpeg
但不是它的尺寸。
所以你必须做HTTP GET
...
答案 1 :(得分:0)
基本上,是的。如果您知道它是什么类型的图像,例如png或jpg(您也可以从HTTP连接的MIME类型中获取此信息,您只能下载标题并从那里读取图像范围。另请参阅此相关问题:
What is the header size of png, jpg/jpeg, bmp, gif and other common graphics format?