首页 > 解决方案 > 下载前获取图像大小

问题描述

我在我的项目中使用 Potoswipe。Potoswipe 需要定义图像大小。在我使用简单的 PHP 的时候,现在在无服务器时代它看起来像是一个问题。

如何在客户端上获取图像大小?我检查了几个云存储提供商,他们都提供调整大小,但这并不是我想要的,我需要一个完整的图像属性,然后在初始化应用程序时上传图像。

标签: google-cloud-storagecloudflarecloudinary

解决方案


最简单的事情是找到一个带有 API 的托管服务,该 API 可以提供您需要的元数据。

如果做不到这一点,您可以通过仅查看前几十个字节来计算图像的尺寸。所有现代图像格式都在文件头中包含尺寸。三种语言的示例链接到[Photoswipe FAQ][1].

因此,您需要下载足够的字节(这因文件格式而异)。为此,您需要使用RangeHTTP 请求中的标头。例如:

curl http://i.imgur.com/z4d4kWk.jpg -i -H "Range: bytes=0-1023"

... 将获得该图像的第一个千字节。无论您使用什么 HTTP 客户端,它都可以设置请求标头。


推荐阅读