在网页上获取图像大小

在网页上获取图像大小

问题描述:

是否可以检索有关网站上图像的信息,而无需实际下载实际图像?我对宽度/高度和kb大小感兴趣。在网页上获取图像大小

不可以。您可以使用Content-Length标题获取文件大小,但您至少需要开始下载图像以获取宽度/高度。

一旦图像开始下载,您可以解析流,并且@BrokenGlass和@Ed Swangren建议尝试以这种方式查找图像宽度/高度。

话虽如此,这听起来像是一个非常多的工作,因为如果你下载整个图像,你可以使用可用的库快速找到图像的宽度/高度。除非你处理大量图像或大量图像,否则下载文件和检查它们的大小可能会更容易。

某些图像格式在标题中包含大小信息。你可以解析头文件来确定大小,但是当然实现会根据图像格式而有所不同。

+0

由于最初的问题是用`http-headers`标记标记的,我相信你的意思是图像的标题,即图像的二进制表示的第一个字节。对? – 2011-01-08 21:06:49

+0

是的,我的意思是图片标题。 – 2011-01-08 21:28:03

您可以使用HTTP HEAD请求确定的图像的文件大小,响应将包含内容长度,在.NET中为HttpResponse.ContentLength

为了确定许多图像格式的宽度/高度,您只需要在文件的开始处使用一些字节,因此您可以从头开始 - 如上所述,它取决于实际的图像格式。

+0

很好的答案,尽管并不能保证HEAD实际上会得到支持。 – EricLaw 2011-01-08 21:15:37