refile/refileのチュートリアルに従い、`refile-s3 を使用して写真を S3 にアップロードしようとしました。しかし、それはまだローカルホストにアップロードされています.. なぜだろうか??
Github のコード: https://github.com/chrisyeung1121/refile-example
何か不足していますか?
refile/refileのチュートリアルに従い、`refile-s3 を使用して写真を S3 にアップロードしようとしました。しかし、それはまだローカルホストにアップロードされています.. なぜだろうか??
Github のコード: https://github.com/chrisyeung1121/refile-example
何か不足していますか?
サンプルアプリを実行したところ、すべてが正しく行われ、ファイルが S3 にアップロードされました。/store
s3 バケットを表示すると、次のようなファイルを含むフォルダーがあるはずです。8d005532259e4abc0.....
これは、データベースに保存されている ID に対応します。あなたの場合、IDは User モデルに profile_image_id として保存されます。
attachment_url
の結果が返さ<img src="/attachments/store/fill/300/300/8d005532259e4abc0...../profile_image.jpg" alt="Profile image">
れて、まだローカルホストにアップロードされているように見えて 混乱するかもしれません。
refile が amazon s3 からファイルをダウンロードし、その場で 300x300 に変更し、ブラウザに送信します。ただし、多くの処理能力を浪費するため、ページが読み込まれるたびにこれを行うべきではありません。これは CDN が必要な場所であり、refile は CDN を使用するように設計されています。このようにして、処理された画像がキャッシュされ、すべてがはるかに高速になります。
refile.rb
構成ファイルで:
Refile.cdn_host = "https://your-dist-url.cloudfront.net"
または私の場合、私はそれを本番環境に制限しました:
if Rails.env.production?
Refile.cdn_host = "https://your-dist-url.cloudfront.net"
end
0.6.0 より前のバージョンを使用している場合、.cdn_host は .host にする必要があることに注意してください。
今、これは次のようなものを返すはずです<img src="https://your-dist-url.cloudfrond.net/attachments/store/fill/300/300/8d005532259e4abc0...../profile_image.jpg" alt="Profile image">
詳細については、公式ドキュメントを参照してください。