Поиск и генерация коротких URL для загрузки

Появляется в сообщении:

![img-MAVMAbkLhcg3sooqMLUyKIhT](upload://>>>>>yygWIAKKT974aRWzlyDof2O82bL<<<<<.jpeg)

Как сопоставить это с этим (и наоборот):

"//127.0.0.1:4200/uploads/default/original/1X/abcafdf0e1d9262d515075420e4d940718796a5d.jpeg"

которое отображается как свойство url объекта Upload.

?

Вам следует использовать эту функцию:

а затем найти запись о загрузке в базе данных по значению SHA1.

А, вот это SHA1? Вот это да!

Да, и короткая ссылка, и обычная ссылка содержат SHA1.

Разница в том, что длинная ссылка использует исходную шестнадцатеричную версию, которая совпадает с той, что в базе данных. Короткая ссылка в формате upload:// — это представление того же хеша в системе base62, что позволяет сократить количество символов.

Извините, сейчас понял.

Итак, есть:

  • short-url в сообщении
  • url — исходная длинная ссылка для загрузки
  • SHA1, сгенерированный при загрузке

и вы только что подсказали, как найти url по short-url

Извините, раннее время суток. Если моя цель — создать short-url, нужно ли мне транскодировать SHA1 в base62?

Где вы это делаете? В приложении Rails?

Если да, то вы можете генерировать URL с помощью upload.short_url и upload.url.

Чтобы найти запись загрузки, можно сделать следующее:

sha1 = Upload.sha1_from_long_url(...)
# или
sha1 = Upload.sha1_from_short_url(...)

# затем

upload = Upload.find_by(sha1: sha1)

Да, Rails. Я загружаю с бэкенда.

OMGoodness:

Upload.last.short_url

"upload://fkO7C9M7SLRhXjEiFTOSUJIdCgJ.jpeg" :tada:

Извини, Дэвид, я совершенно упустил это!!

По крайней мере, эта тема проясняет всё для любого заинтересованного.

Спасибо за всю информацию.