Rechercher des pièces jointes par nom de stockage

Salut, est-il possible de rechercher des fichiers dans le stockage par leur nom de stockage ?

Je veux dire, trouver non pas par nom de fichier, mais par son nom basé sur un hachage qui est lié à la pièce jointe. Par exemple, en tant qu’administrateur, j’ai exploré une sauvegarde de forum et trouvé une grosse pièce jointe. Je ne connais pas le nom de fichier d’origine pour pouvoir le trouver rapidement dans le forum pour l’explorer.

Je peux rechercher par nom de fichier, et je vois son nom de stockage :

Malheureusement, la recherche par nom de stockage ne fonctionne pas :

Existe-t-il un moyen de gérer ces pièces jointes de manière conviviale ? Je ne veux pas les supprimer du stockage avant d’en avoir exploré le contenu (dans la plupart des cas, j’aimerais nettoyer, réduire le contenu et les reconditionner). Probablement une méthode utilisant Data Explorer existe-t-elle ?

Ce dont vous avez besoin, je pense, est de trouver le sha1 en utilisant l’une des méthodes de la console :

Upload.sha1_from_short_url
Upload.sha1_from_short_path
Upload.sha1_from_base62_encoded

dont la logique peut être reproduite ailleurs si nécessaire. Avec ce hachage sha1, vous pouvez rechercher la valeur dans la table uploads, ou utiliser à la console :

Upload.find_by(sha1: sha_to_find)

Dans votre cas, si j’ai bien tapé :

[1] pry(main)> Upload.sha1_from_base62_encoded 'yl9oPeFdXA4DSdL4chS0sznm5zF'
=> "f0ae01b37fe5db52f1935f6247dff639f77c5117"
3 « J'aime »

Hm, très intéressant, merci beaucoup ! :handshake:

P.S. pour ceux qui arriveront sur ce sujet via la recherche :
Comment lancer la console Rails (pour démarrer une session Pry) :

sudo /var/discourse/launcher enter app
rails c
pry(main)> vous pouvez exécuter ici les commandes postées ci-dessus

Aussi SQL pour la base de données :

SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc
2 « J'aime »

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