Error: JPEG marker not found!


#1

Probando la gema image_size he encontrado un problema rarísimo.
Al ejecutar este código:

fichero = File.read(“imagen.jpg”)
img = ImageSize.new( fichero )

La segunda línea me da error con algunos JPGs.

Con unos no tengo problema y puedo acceder a métodos como get_with, por
ejemplo.

Pero con otros me da el error: JPEG marker not found!

Buscando por ahí he encontrado este error en php o en otros programas.
Según dicen es porque el fichero está corrupto y el encabezado no es el
que tiene que ser, o algo así.

¿A alguien le ha pasado esto? ¿Hay forma de solucionarlo?

Gracias.


#2

Me lo han solucionado en el foro general. Lo dejo por aquí por si a
alguien le interesa:

fichero = File.open(“imagen.jpg”, “rb”) {|f| f.read}
img = ImageSize.new( fichero )

Por lo visto había que leer el fichero en modo binario para evitar ese
error.