Я разрабатываю веб-приложение HTML5/JavaScript, которое часто работает в автономном режиме. Пользователь загружает PDF в приложение, а затем имеет возможность добавлять комментарии, которые появляются отдельно в PDF. Я использую локальное хранилище, чтобы сохранить комментарии, сделанные так, как это работает в автономном режиме, а не с использованием онлайн-базы данных. Если пользователь снова откроет тот же самый PDF-файл позже, я хотел бы загрузить все предыдущие сделанные комментарии. Для этого я предполагаю, что мне нужно будет идентифицировать нечто уникальное в конкретном PDF-файле, чтобы я мог хранить другие ценности против него в локальной базе данных хранилища. Если пользователь открывает один и тот же PDF-файл позднее, я могу запросить базу данных, чтобы увидеть, были ли сделаны комментарии к этому файлу до и, если да, отобразите их на экране.Как я могу идентифицировать что-то уникальное в отношении файла при открытии в браузере?
В настоящее время я открываю PDF, используя URL.createObjectURL()
, который создает уникальный URL-адрес для доступа к файлу. Это необходимо, так как он может быть открыт в автономном режиме. Моя первоначальная мысль заключалась в том, что этот blob может использоваться как уникальный идентификатор, если он хранится в локальной базе данных хранилища, однако blob, по понятным причинам, изменяется при каждой загрузке и может меняться, если пользователь перемещает местоположение PDF на своей локальной машине. Например, открытие одного и того же файла дважды подряд приводит к: blob:null/c3ab544d-e16d-cf49-86d8-03c1d67a6ccb
и blob:null/5ad4b666-e6ba-1a41-a149-d7a77f648261
.
Есть ли способ записать что-то уникальное в открывшемся файле, чтобы я мог проверить, будет ли пользователь повторно открывать этот файл позднее?
Может быть, файл hash? – kingdaemon