我相信与JPG,宽度和高度信息存储在前几个字节 。 给定绝对URI,获取这些信息的最简单方法是什么?
为什么不同的计算机或操作系统上的文化date格式不同?
如何检查给定PID的进程是否正在运行?
windbg无法debugging.net转储
如何在PowerShell中使用HTML Tidy .NET DLL封装器?
GUI故障:checkBox文本在Windows 8中显示不完整
首先,您可以使用Range标头请求图像的前一百个字节。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.Set(HttpRequestHeader.UserAgent,"Range: bytes=0-100");
接下来,你需要解码。 unix file命令有一个通用格式表和关键信息的位置。 我建议安装Cygwin并看看/usr/share/file/magic 。
对于gif和png ,你可以很容易地从前32个字节获得图像尺寸。 但是,对于JPEG,@Andrew是正确的,因为您无法可靠地获取这些信息。 你可以找出它是否有一个缩略图,缩略图的大小。
得到实际的JPEG尺寸,你需要扫描start of frame标签的start of frame 。 不幸的是,人们无法可靠地确定事件发生的位置,缩略图可能会将数千字节的数据推送到文件中。
我建议使用range请求来获得前32个字节。 这将让你确定文件类型。 之后,如果是JPEG,则下载整个文件,并使用库来获取大小信息。
我有点生疏,但用jpeg,可能不像看起来那么简单。 Jpeg在每个有自己的高度/宽度和分辨率的数据段中都有一个标题。 jpeg的设计并不容易。 您可能需要阅读整个图像来查找jpeg中每个段的宽度和高度,以获取整个宽度和高度。
如果您绝对需要流式传输图像,请考虑更换为其他更容易传输的格式,而JPEG将会变得越来越困难。
你可以这样做,如果你可以开发一个服务器端程序,将前进和读取每个段的头来计算段的宽度和高度。
这有点荒谬罗宾逊 ,但是因为浏览器似乎能够做到这一点,也许你可以自动IE浏览器下载图像内的网页,然后询问浏览器的DOM显示图像下载完成之前的尺寸?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。