Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как проверить уникальность BLOB-файла? (https://javascript.ru/forum/misc/72917-kak-proverit-unikalnost-blob-fajjla.html)

laimas 06.03.2018 17:55

https://github.com/blueimp/JavaScript-MD5

laimas 06.03.2018 17:57

Цитата:

Сообщение от Teamur
Но каталоги могут гулять, картинки тоже перемещаться и тп.

Храните их на диске в одном месте, удаляя при загрузке на сервер. На сервере надеюсь нет соблазна хранить их в базе?

Teamur 06.03.2018 18:07

laimas,
на сервере они будут лежать в спецпапке.

Вот такой, наверное, смешной вопрос еще:
А можно ли во время загрузки картинки просто получить, скажем, первые 100 байт этого файла, а затем если снова загружается такая же картинка - просто проверяем байты и, если они совпадает с сохраненной в Set'e последовательностью выводим сообщение о том что такой файл есть!

laimas 06.03.2018 18:18

Цитата:

Сообщение от Teamur
на сервере они будут лежать в спецпапке.

Даже в спец, а не просто в папке... )
И на клиенте тоже самое. Да и вообще, уж коли это для себя, то может ну его на... браузер и работать без ограничений? Ну или максимально убрать ограничения и использовать то, что "смертным" запрещено.

Цитата:

Сообщение от Teamur
А можно ли во время загрузки картинки просто получить, скажем, первые 100 байт этого файла, а затем если снова загружается такая же картинка - просто проверяем байты и, если они совпадает с сохраненной в Set'e последовательностью выводим сообщение о том что такой файл есть!

А почему вы думаете, что первые 100 байт обязательно уникальными будут? В первых байтах находится заголовок файла: тип, смещение адреса данных, размер данных, разрешение файла, глубина цвета... И эти данные могут быть одинаковы для разных файлов.

Teamur 06.03.2018 18:24

laimas,
тогда последние 100 байт или из середины!
То есть брать оттуда где точно нет информации о заголовках, разрешении, глубине и тп

И почему если блоб вставить в img.src он будет разным, хотя изображения одинаковые?

laimas 06.03.2018 18:28

Цитата:

Сообщение от Teamur
тогда последние 100 байт или из середины!

Уверены? Ссылка на хеш-функцию MD5 для JS вам дана, используйте. А из середины, с конца, это гадание на кофейной гуще, и гарантии нет, что повезет.

Цитата:

Сообщение от Teamur
И почему если блоб вставить в img.src он будет разным, хотя изображения одинаковые?

Не понял.

Teamur 06.03.2018 18:29

Не могу поверить, что простая проверка одинаковости файлов, выливается в такие проблемы!

Загружаем картинку с одним именем, затем такую же, но с другим именем и ВСЁ нужно сравнивать Хэши и тп. Невероятно! У файлов только имя поменялось, а тут такая история ))) Мда...

А в моём случае даже имя не менялось. Что за тупизм! Разочарован )

laimas 06.03.2018 18:33

Цитата:

Сообщение от Teamur
Загружаем картинку с одним именем, затем такую же, но с другим именем и ВСЁ нужно сравнивать Хэши и тп. Невероятно!

Вы имеете мои отпечатки пальцев и знаете меня под кличкой Косой. То есть если я назовусь этой кличкой, то вы проверите мои отпечатки и я буду пойман. Но если я сменю кличку на Садовник, то могу теперь ничего не опасаться?

Правда абсурд?

Teamur 06.03.2018 18:44

Попали в отделение (загрузили файл), сняли с вас пальчики, пробили по базе - о!
- Вы никакой не садовник, вы - косой!
Всё просто! ))

laimas 06.03.2018 18:48

То есть в любом случае нужно потрудится, проверить, а не брать на веру. А разве с файлами нужно поступать иначе?


Часовой пояс GMT +3, время: 20:25.