↓↓クリックして頂けると励みになります。
Amazon Simple Storage Service(Amazon S3)は、クラウドベースのオブジェクトストレージサービスです。
herokuにアプリケーションをデプロイすると画像をローカルに保存することができません。
それに対応するため、アップロードした画像を全てアマゾンS3に保存するよう設定します。
アマゾンS3のキーの取得方法は以下の手順でお願いします。
mrradiology.hatenablog.jp
GemFileに以下の記述を追加して下さい。
GemFile
gem "aws-sdk"
コマンド
bundle
バージョンが合わず、エラーが出る場合があります。
その時は落ち着いてbundle update
を行うとうまくいきます。
「config\environments\development.rb」ファイルの記述を更新します。
記述更新 config\environments\development.rb
32行目の「config.active_storage.service = :local」の記述を「:amazon」に変更します。
# config.active_storage.service = :local config.active_storage.service = :amazon
「config\storage.yml」ファイルに以下の記述を追加します。
記述追加 config\storage.yml(9行目)
アクセスキー、シークレットキー、バケット名はご自分のものを入れて下さい。
amazon: service: S3 access_key_id: 'ご自分のアクセスキーを入れてください' secret_access_key: 'ご自分のシークレットキーを入れてください' region: "ap-northeast-1" bucket: "ご自分のバケット名を入れてください"
config\storage.yml
test: service: Disk root: <%= Rails.root.join("tmp/storage") %> local: service: Disk root: <%= Rails.root.join("storage") %> amazon: service: S3 access_key_id: 'ご自分のアクセスキーを入れてください' secret_access_key: 'ご自分のシークレットキーを入れてください' region: "ap-northeast-1" bucket: "ご自分のバケット名を入れてください"
ブラウザ確認を確認します。
ローカルにアップロードした画像は見えなくなっています。
画像をアップロードすると画像が表示されます。
アマゾンS3のバケットを見て画像がアップロードされているか確認して下さい。
↓↓クリックして頂けると励みになります。