Сравниваете два изображения без полной загрузки?

Сравниваете два изображения без полной загрузки?

Я хочу загружать копию большого файла изображения (+20 МБ) всякий раз, когда он изменяется. Но без загрузки его каждые X секунд и сравнения со старой версией, которая у меня есть, как я узнаю, изменилось изображение или нет? В противном случае это будет очень потреблять полосу пропускания и медленно.

Есть ли способ определить размер картинки до полной загрузки? Так что, если размер изменился, значит, изменилось и изображение.

Можно ли сравнить два изображения, не скачивая их (или просто скачав первые несколько килобайт)? Другими словами, содержат ли изображения информацию о размере или хэш-значение? Или что-то в этом роде.

решение1

Wget позволяет загружать только те файлы на стороне сервера, которые новее:

       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.

решение2

Подход 1:Файловый сервер может разрешить доступ к каталогу. Попробуйте получить доступ и проанализировать вывод родительского каталога. Пример:https://www.kernel.org/pub/site/

Подход 2:В коде извлеките поле заголовка «content-length», чтобы получить размер файла, которыйможетбыть индикатором того, что файл был изменен. Пример:https://stackoverflow.com/questions/2983073/how-to-know-the-size-of-a-file-before-downloading-it/12271781#12271781

Подход 3:Попросите администратора сервера предоставить вам контрольную сумму, которую вы сможете загрузить, уведомление о доступности нового файла или какую-либо другую форму доступа к оболочке/каталогу.

Связанный контент