ruby-on-rails - español - rails carrierwave mount_uploader
Forma rápida de obtener dimensiones de imagen remotas (1)
Estoy usando la gema del tamaño de la imagen para comprobar el tamaño de las imágenes remotas y luego solo inserto las imágenes que son lo suficientemente grandes en una matriz.
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 = "<img src=/"#{image_path}?#{forcenocache}/">"
images.push(image_element)
end
end
end
Intenté usar JS en la parte frontal para verificar las dimensiones de la imagen, pero parece que hay un límite de navegador para la cantidad de imágenes que se pueden cargar a la vez.
Hacerlo con imágenes es mucho más lento que usar JS. ¿Alguna forma mejor y más rápida de hacer esto?
Creo que esta gema hace lo que quieres https://github.com/sdsykes/fastimage
FastImage encuentra el tamaño o el tipo de una imagen dada su uri obteniendo tan poco como sea necesario