首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无需下载即可获取图片的宽度和高度

无需下载即可获取图片的宽度和高度
EN

Stack Overflow用户
提问于 2012-10-19 21:06:12
回答 3查看 2.5K关注 0票数 4

我需要在Ruby on Rails中获得图像的大小。图像位于远程URL中。我不想下载整个图像。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-19 21:35:26

如果不实际下载图像(如使用带宽),则很可能无法执行此操作。

也就是说,您可以使用FastImage gem为您完成此操作。

代码语言:javascript
运行
复制
require 'fastimage'

FastImage.size("http://stephensykes.com/images/ss.com_x.gif")
=> [266, 56]  # width, height
票数 6
EN

Stack Overflow用户

发布于 2012-10-19 21:42:15

仅使用HTTP标头请求不会对您有所帮助

代码语言:javascript
运行
复制
$ http -h get "http://cdn.sstatic.net/stackoverflow/img/sprites.png"
HTTP/1.1 200 OK
Cache-Control: max-age=604800
Connection: close
Content-Length: 16425
Content-Type: image/png
Date: Fri, 19 Oct 2012 13:39:15 GMT
ETag: "0d1523d7cadcd1:0"
Last-Modified: Thu, 18 Oct 2012 22:02:18 GMT
Server: NetDNA-cache/2.2

因此,您需要一些HTTP响应正文。但是一些图像文件格式在顶部有标头来描述分辨率(尽管jpeg没有)。因此,也许您可以为该位发出部分HTTP请求(range请求)。

票数 1
EN

Stack Overflow用户

发布于 2012-10-19 21:37:51

"Validating or reading a remote image type in javascript“几乎涵盖了您需要了解的内容。它可能比你真正需要的要深一点,但它已经解释得很好了。

否则,您可以创建一个服务器端控制器来只执行一次此操作。你可以从任何地方读取图像和它们的尺寸。当用户获取图像时,尺寸将从您的服务器“缓存”中读取,而无需再次下载图像大小。如果关于该特定图像的信息不可用,您将获取它并存储尺寸和URL。这可以节省大量带宽。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12974917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档