こんにちは、
Discourse は比較的新しいので、この質問が重複していたり、カテゴリが間違っていたりするかもしれません。RSS ポーリングプラグインを使用して、RSS ストーリーを取り込み、ディスカッション投稿を作成しています。最初は正しく表示されていた画像が、後に破損し、以下のようなコードスニペットに置き換わってしまいます。

これは、Discourse が RSS フィードから以前にホットリンクされたリモート画像をキャッシュしようとしている際に発生しているようです。画像のダウンロードと保存の過程で何らかの問題が起きていると考えていますが、デバッグ方法がわかりません。
投稿のバージョン履歴における、表示前後の例を以下に示します。
どなたか、正しい方向を示していただけませんか?
simon
2
Discourse コミュニティへようこそ!この質問は過去に何度か出ましたが、正当な問題です。詳細については、こちらをご覧ください:https://meta.discourse.org/t/fix-broken-images-for-posts-created-by-the-wp-discourse-and-rss-plugins/160773。問題の原因に関する詳細は、そのトピックに対する私の最初の返信にあります。
可能であれば、この問題に対処する最良のアプローチは、画像がダウンロードされているドメインを Discourse の「disabled image download domains」サイト設定に追加することです。これにより、Discourse が画像のダウンロードを試みるのを防ぐことができます。リモート画像をダウンロードするプロセスが、画像の破損を引き起こします。
既存の投稿で画像が破損している問題を修正するには、投稿を編集して、画像用に作成されたマークアップタグの上に空行を追加してください。例えば、以下のようなマークアップが表示されている場合:
<p></p>
投稿を編集して、以下のように変更してください:
<p>

</p>
「いいね!」 1
ありがとう、サイモン。それは素晴らしいですね。
なぜ Discourse はこれらの画像をローカルにダウンロードできないのでしょうか?RSS フィードからのホットリンクは、非常に不安定な解決策です。
編集:投稿を編集して壊れた画像を修正しても、数分後に元に戻ってしまいます!確認できる画像ドメインを両方とも例外リストに追加しましたが、効果はありませんでした。
simon
4
Discourse は画像をダウンロードできますが、問題点は、Discourse がリモート画像をダウンロードすると、その画像の Markdown タグが生成されることです。もし画像のアップロード用 Markdown タグが HTML タグで囲まれている場合、画像リンクが壊れてしまいます。私がリンクしたトピックに加え、この問題に関するバグレポートもこちらにあります:https://meta.discourse.org/t/markdown-rendering-issue-with-image-surrounded-with-html/152801。
はい、RSS フィードから提供される画像がどのドメインから配信されるかを事前に把握するのは難しいかもしれません。
正しいドメインが disabled image download domains サイト設定に追加されているか、もう一度確認してください。このアプローチが機能するはずですが、Discourse が一度画像をダウンロードすると、その画像のドメインが disabled image download domains 設定に追加されても、ダウンロード済みの画像を使い続ける可能性があります。その場合は、トピックを削除して、Discourse が次に RSS フィードをポーリングする際に再作成できるようにしてみてください。もしうまくいかない場合は、お知らせください。
ありがとうございます、サイモン。
何が悪いかはわかりませんが、トピックを削除しても同じ問題が再発します。例の画像 URL は https://waspsholdingstore.blob.core.windows.net/media-cached-prd/b/5/f/a/2/6/b5fa26b1309701c3411b30433b113d189569b98a.jpg です。そのため、「無効化された画像ダウンロードドメイン」設定に waspsholdingstore.blob.core.windows.net を追加しました。また、生の RSS フィードで使用されているドメイン(この Windows バケットに 301 リダイレクトされているようです)である wasps.co.uk も追加しました。
これがキャッシュによるものではないことを確認するために、トピックを完全に削除するためのより確実な方法があるでしょうか?
「いいね!」 1