Поиск вложений по имени хранилища

Привет, возможно ли искать файлы в хранилище по их именам в хранилище?

Я имею в виду поиск не по имени файла, а по его хеш-основанному имени, которое связано с вложением. Например, как администратор я изучил резервную копию форума и обнаружил большое вложение. Я не знаю оригинальное имя файла, чтобы быстро найти его на форуме для изучения.

Я могу искать по имени файла и вижу его имя в хранилище:

К сожалению, поиск по имени в хранилище не работает:

Есть ли способ удобно работать с этими вложениями? Я не хочу удалять их из хранилища, пока не изучу их содержимое (в большинстве случаев я хотел бы очистить, обрезать содержимое и переупаковать их). Возможно, существует какой-то метод с использованием Data Explorer?

Вам, вероятно, нужно найти sha1, используя один из методов консоли:

Upload.sha1_from_short_url
Upload.sha1_from_short_path
Upload.sha1_from_base62_encoded

Логику этих методов при необходимости можно воспроизвести в другом месте. Получив хеш sha1, вы можете искать значение в таблице uploads или использовать в консоли:

Upload.find_by(sha1: sha_to_find)

В вашем случае, если я ввел правильно:

[1] pry(main)> Upload.sha1_from_base62_encoded 'yl9oPeFdXA4DSdL4chS0sznm5zF'
=> "f0ae01b37fe5db52f1935f6247dff639f77c5117"

Хм, очень интересно, большое спасибо! :handshake:

P.S. для тех, кто попадёт на эту тему через поиск:
Как запустить rails console (чтобы начать сессию Pry):

sudo /var/discourse/launcher enter app
rails c
pry(main)> здесь вы можете выполнить команды, опубликованные выше

Также SQL для базы данных:

SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc