快速获取远程图像尺寸的方法

我正在使用imagesize gem来检查远程图像的大小,然后只将足够大的图像推送到数组中。

require 'open-uri' require 'image_size' data = Nokogiri::HTML(open(url)) images = [] forcenocache = Time.now.to_i # No cache because jquery load event doesn't fire for cached images data.css("img").each do |image| image_path = URI.join(site, URI.encode(image[:src])) open(image_path, "rb") do |fh| image_size = ImageSize.new(fh.read).get_size() unless image_size[0] < 200 || image_size[1] < 100 image_element = "" images.push(image_element) end end end 

我尝试在前端使用JS来检查图像尺寸,但似乎浏览器限制一次可以加载多少图像。

使用imagesize执行它比使用JS要慢得多。 有没有更好更快的方法呢?

我认为这个gem做你想要的https://github.com/sdsykes/fastimage

FastImage通过尽可能少的提取来查找给定其uri的图像的大小或类型