¿Comparar dos imágenes sin descargarlas por completo?

¿Comparar dos imágenes sin descargarlas por completo?

Quiero descargar una copia de un archivo de imagen grande (+20 MB) cada vez que cambie. Pero sin descargarla cada X segundos y compararla con la versión anterior que tengo, ¿cómo sabría que la imagen ha cambiado o no? De lo contrario, consumiría mucho ancho de banda y sería lento.

¿Hay alguna manera de determinar el tamaño de la imagen antes de descargarla por completo? Entonces, cuando el tamaño ha cambiado, eso significa que la imagen también ha cambiado.

¿Podemos comparar dos imágenes sin descargarlas (o simplemente descargando los primeros kilobytes)? En otras palabras, ¿las imágenes contienen información de tamaño o valor hash? O algo así.

Respuesta1

Wget le permite descargar solo cuando el archivo del lado del servidor es más nuevo:

       When running Wget with -N, with or without -r or -p, the decision
       as to whether or not to download a newer copy of a file depends on
       the local and remote timestamp and size of the file.  -nc may not
       be specified at the same time as -N.

Respuesta2

Enfoque 1:El servidor de archivos puede permitir el acceso al directorio. Intente acceder y luego analizar la salida del directorio principal. Ejemplo:https://www.kernel.org/pub/site/

Enfoque 2:En el código, recupere el campo de encabezado "longitud del contenido" para obtener el tamaño del archivo quepuedeser un indicador de que el archivo ha cambiado. Ejemplo:https://stackoverflow.com/questions/2983073/how-to-know-the-size-of-a-file-before-downloading-it/12271781#12271781

Enfoque 3:Pídale al administrador del servidor que le proporcione una suma de verificación que pueda descargar, una notificación de que hay un nuevo archivo disponible o alguna otra forma de acceso al shell/directorio.

información relacionada