L’une de mes publications a perdu ses images de manière aléatoire. J’ai exécuté PostCustomField.where(name: Post::MISSING_UPLOADS) dans la console Rails et obtenu ceci :
[#<PostCustomField:0x00005636227c20a0
id: 7335,
post_id: 36,
name: "missing uploads",
value:
"[\"upload://ljcw6gjRoPMD0IB5Vcc6K23VXIA.png\",
\"upload://v6caNgjm6wDrHzN8MQdXYnlNJEs.png\",
\"upload://bn2lC9z0Xp4Fit00p6KepGMZZ2h.png\",
\"upload://omhuL50n5VfAxY8Reyf2rQFoEWb.jpeg\",
\"upload://yJCRzx9SogObwuj1En0QciZdntF.jpeg\",
\"upload://wOeXgaPEBBia8oS0xxbOr5NKNWo.gif\",
\"upload://fuXMNACp8WoEHEr3ayciiVJjmNl.png\",
\"upload://MTIX7g8Wu11qaJasGg5yGsFvJA.jpeg\",
\"upload://oKle1GsOlPD85zeHiKRdUGJCCEM.jpeg\",
\"upload://zY43AR6Xpga92HNzdEnxQRIVpYE.gif\",
\"upload://ufigIPfGEPbDInHP4co0I0YDT51.png\",
\"upload://h7A1BJjNwZZwuUTYWXCeASk7UAh.png\",
\"upload://gmFGijsek8NmtfqBwAguIgkzDFP.png\",
\"upload://qPFQBe9zvnTmOnqMhpofQF3oqCh.png\"]",
created_at: Tue, 18 Feb 2020 17:44:40 UTC +00:00,
updated_at: Tue, 18 Feb 2020 17:44:40 UTC +00:00>,
Puisqu’il ne s’agit que de 14 images dans une seule publication, je suis d’accord pour les corriger manuellement, mais je ne sais pas comment retrouver les images originales dans mon bucket S3. J’ai essayé de rechercher les noms de fichiers ici, mais sans aucun résultat :
Vraiment : y a-t-il des journaux que vous pouvez consulter pour ces noms de fichiers ? Peut-être que quelque chose d’étrange les a supprimés de manière programmatique ?
Le problème est que la console web S3 semble ne rechercher que dans le dossier actuel. Si je descends dans un dossier spécifique et que je recherche un fichier qui s’y trouve, elle le trouve. Si je remonte au dossier parent, elle ne le trouve pas.
Merci, Michael. Ce serait utile, mais je n’arrive pas à comprendre comment obtenir le chemin complet. Dans la console Rails, je peux faire ceci, mais cela ne me donne pas le nom de fichier réel :
Cela dépend de nombreux facteurs, mais puisque le fichier est signalé comme manquant, il se trouve peut-être mal placé de toute façon. Maintenant que vous connaissez le nom du fichier, il ne vous faudra pas beaucoup de temps pour parcourir S3 et vérifier si vous trouvez un fichier correspondant.
Vous pouvez également essayer de rechercher un Upload dans la base de données dont le hachage SHA1 correspond à cette chaîne, et dont l’enregistrement d’upload contient un chemin. Mais encore une fois : si tout était en ordre, nous ne discuterions pas de ce problème.