Buscar archivos adjuntos por nombre de almacenamiento

Hola, ¿es posible buscar archivos en el almacenamiento por sus nombres de almacenamiento?

Me refiero a encontrar no por nombre de archivo, sino por su nombre basado en hash que está relacionado con el adjunto. Por ejemplo, como administrador, exploré una copia de seguridad del foro y encontré un archivo adjunto grande. No conozco el nombre de archivo original para poder seleccionarlo rápidamente en el foro y explorarlo.

Puedo buscar por nombre de archivo y veo su nombre de almacenamiento:

Desafortunadamente, la búsqueda por nombre de almacenamiento no funciona:

¿Hay alguna forma de operar estos archivos adjuntos de manera amigable? No quiero eliminarlos del almacenamiento hasta explorarlos (en la mayoría de los casos, me gustaría limpiar, recortar el contenido y volver a empaquetarlos). ¿Probablemente existe algún método usando Data Explorer?

Creo que lo que necesitas es encontrar el sha1 usando uno de los métodos de la consola:

Upload.sha1_from_short_url
Upload.sha1_from_short_path
Upload.sha1_from_base62_encoded

cuya lógica puedes reproducir en otro lugar si lo necesitas. Con ese hash sha1 puedes buscar en la tabla uploads el valor, o usar en la consola:

Upload.find_by(sha1: sha_to_find)

En tu caso, si lo escribí correctamente:

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

¡Hm, muy interesante, muchas gracias! :handshake:

P.S. para aquellos que lleguen a este tema desde la búsqueda:
Cómo ejecutar la consola de Rails (para iniciar una sesión de Pry):

sudo /var/discourse/launcher enter app
rails c
pry(main)> aquí puedes ejecutar los comandos publicados anteriormente

También SQL para la base de datos:

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.