pfaffman
(Jay Pfaffman)
1
Merge two Discourse sites into one を使用しましたが、ほとんどうまくいきましたが、2番目のサイトからの画像が表示されません。
次のようなことができます。
p=Post.find_by(topic_id: 222435, post_number: 11)
short_url=p.raw.match(/(upload:\/\/.*?)\)/)[1]
up=Upload.sha1_from_short_url(short_url)
そして up.url は /uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg のようになり、cd /shared; ls uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg はファイルを見つけます。
しかし、https://host/uploads/default/original/3X/9/e/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg は nginx から 404 を返します。
Upload が存在し、ファイルが存在する場合、NGINX は親切にそれを提供してくれるはずです。何が足りないのでしょうか?
画像によっては、テストサイトの画像の URL を貼り付けることでこの問題を「解決」しました。これにより画像が生成され、アップロードに変換されます(私が探しているのと同じアップロードのように見えます)。その後、投稿を再構築すると、画像が表示されるようになります。
リモート画像の URL を貼り付けるのと同じことをするために、次のようなことを試しました。
f=File.open('/shared/uploads/default/original/2X/9/9ebb54f0e825c05df7f6df271a5cfbdc95a6332c.jpeg')
upload = UploadCreator.new(f, 'upload.jpeg').create_for(-1)
しかし、これも機能していません。
pfaffman
(Jay Pfaffman)
2
RGJさん、こんにちは。再ベイク時に、データベースやファイルシステムに(存在するように見える)これらの画像を表示させる方法について、何かヒントはありますか?
RGJ
(Richard - Communiteq)
3
このようなエラーのデバッグは嫌いです。
ほとんどの場合、Railsコンソールでコントローラー内のコードを手動で実行するだけです。
今回は、404が111行目から来ているのではないかと思います。
Discourse.store.list_missing_uploads(skip_optimized: true) は何を返しますか?
「いいね!」 1
pfaffman
(Jay Pfaffman)
4
私も同じです。でも、私よりあなたはきっと得意だと思います。ヒントをありがとうございます。
それをやろうとしています。
それは良い推測のようです。ありがとうございます!
nil です。skip_optimized: false でも同じです。
投稿のアップロードを1つ修正できましたが、あまり良いメモを残せなかったようです。
でも、そこにたどり着くために多くのことをしました。少なくとも、可能であるという希望は持っています。
「いいね!」 1