Certaines images liées ne s'affichent pas/affichent comme brisées

Je migre une grande quantité de contenu, environ 15 000 articles d’actualités, vers Discourse via l’API. Ces sujets contiennent des liens vers des images. Les images ont simplement été téléchargées dans un stockage blob et sont entièrement accessibles publiquement.

La plupart des sujets affichent correctement les images, qui sont téléchargées par hotlink et importées dans Discourse comme prévu. Cependant, certaines ne dépassent pas l’étape où elles s’affichent simplement comme des liens dans le sujet, ou finissent par apparaître comme des images brisées pour une raison quelconque.

Par exemple :

Restant simplement comme des liens :

Devenant brisées :

Dans le cas des images brisées, le sujet s’affiche ainsi lors de l’édition :

Configuration :
Installation vierge de Discourse uniquement pour tester la migration
Stockage des images sur S3

Je n’ai rencontré aucun problème en créant simplement des publications en tant qu’utilisateur et en téléchargeant des images. Le problème semble survenir uniquement lors de la migration de publications via l’API, c’est-à-dire en masse et à la suite (j’utilise le paramètre skip_validations=true). Jusqu’à présent, j’ai migré au maximum 1 000 sujets avant de tout effacer et de recommencer.

Avez-vous des idées sur ce qui pourrait causer cela ? Ou des conseils pour diagnostiquer le problème ? Tous les jobs Hotlink Sidekiq semblent être planifiés et exécutés comme prévu.

rake posts:rebake ne résout pas le problème.

4 « J'aime »

Que pensez-vous de l’option HTML reconstruit avec la petite clé à molette d’administration ?

image

3 « J'aime »

Votre fichier possède une double extension - .jpeg.jpg - est-ce le cas pour tous les fichiers rejetés ?

Des fichiers à double extension ont-ils été traités avec succès ?

4 « J'aime »

Merci Robert. Cela fonctionne pour les premiers que j’ai essayés. On revient à la case départ, c’est-à-dire au rendu de l’image liée en hotlink, puis à son téléchargement et à son upload.

Je devrai voir si cela peut être automatisé, bien que cela ne résolve pas la cause racine de l’échec initial.

2 « J'aime »

Non, les images à double extension sont minoritaires et ne représentent pas la totalité des échecs. L’option Rebuild HTML résout également ces cas.

2 « J'aime »

C’est fantastique et félicitations, :partying_face: heureusement, j’ai appris cela d’autres personnes utiles ici lorsque j’ai rencontré des problèmes similaires, et je suis ravi de pouvoir vous le transmettre :sunglasses:

1 « J'aime »

D’accord, j’ai corrigé tous les posts migrés via l’API en utilisant /posts/{num}/rebake. Étrangement, la commande rake posts:rebake dans le conteneur n’a pas fonctionné.

Après avoir automatisé l’appel à l’API de rebake, il s’est avéré qu’il y a un taux d’échec d’envoi d’images d’environ 80 %. C’est assez fou.

4 « J'aime »

Finalement, cela s’est avéré peu fiable : cela fonctionnait pour quelques publications, mais pas pour toutes. Je devrai réessayer de télécharger les images. J’avais déjà rencontré des problèmes avec cela, les requêtes restant bloquées. Je ne sais pas si j’avais essayé le paramètre skip_validations sur ces requêtes.

2 « J'aime »

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

Quelques suggestions dans cette publication pourraient être utiles pour réparer les images cassées : Rebake with rails command or rake task doesn't work, but rebuilding HTML does. Why? - #12 by RGJ.

5 « J'aime »