我相信 JPG 会存储宽度和高度信息在前几个字节内 http://en.wikipedia.org/wiki/JPEG#Syntax_and_structure。在给定绝对 URI 的情况下获取此信息的最简单方法是什么?
首先,您可以使用以下命令请求图像的前一百个字节Range header.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Set(HttpRequestHeader.UserAgent, "Range: bytes=0-100");
接下来,您需要解码。这unix file command http://pwet.fr/man/linux/formats/magic有一个通用格式表和关键信息的位置。我建议安装 Cygwin 并看一下/usr/share/file/magic
.
For gif
's and png
的,您可以轻松地从前 32 个字节获取图像尺寸。但是,对于 JPEG,@Andrew 是正确的,因为您无法可靠地获取此信息。您可以确定它是否有缩略图以及缩略图的大小。
要获取实际的 jpeg 大小,您需要扫描start of frame
标签。不幸的是,人们无法提前可靠地确定其位置,并且缩略图可能会将其推送到文件中数千字节。
我建议使用range
请求获取前 32 个字节。这将使您确定文件类型。之后,如果它是 JPEG,则下载整个文件,并使用库获取大小信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)