gpt4 book ai didi

C#在不下载整个文件的情况下获取网络上图像的宽度/高度?

转载 作者:可可西里 更新时间:2023-11-01 13:52:58 26 4
gpt4 key购买 nike

我相信 JPG 会存储宽度和高度信息 within the first few bytes .在给定绝对 URI 的情况下,获取此信息的最简单方法是什么?

最佳答案

首先,您可以使用 Range header 请求图像的前一百个字节。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Set(HttpRequestHeader.UserAgent, "Range: bytes=0-100");

接下来,您需要解码。 unix file command有一个常用格式表和关键信息的位置。我建议安装 Cygwin 并查看 /usr/share/file/magic

对于 gifpng,您可以轻松地从前 32 个字节获取图像尺寸。但是,对于 JPEG,@Andrew 是正确的,因为您无法可靠地获取此信息。你可以弄清楚它是否有缩略图,以及缩略图的大小。

要获取实际的 jpeg 大小,您需要扫描 start of frame 标记。不幸的是,人们无法可靠地提前确定它的位置,缩略图可能会将它推到文件中几千个字节。

我建议使用 range 请求来获取前 32 个字节。这将使您确定文件类型。之后,如果是 JPEG,则下载整个文件,并使用库获取大小信息。

关于C#在不下载整个文件的情况下获取网络上图像的宽度/高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1781272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com