S3を使ってHerokuに画像をアップする
Herokuへの画像アップロードにかなり時間がかかったので記録用に残しておきます。
Xamppを使ってローカルで作業をしていた時は画像投稿できてたのですがHerokuで画像を投稿すると反映出来ませんでした。ググってみるとHerokuは画像生成ができないとのこと。
いろいろ調べてみた結果、AmazonのS3というサービスを使えばアップができるとのこと。
下記URLを参考にやりました。
https://qiita.com/RitaChan/items/d59001430f50789c570f
https://qiita.com/tiwu_dev/items/ecb115a92ebfebf6a92f
ひととおり終わったのですが、データベースに投稿をしようとするとこのエラーがしつこい。
A "region" configuration value is required for the "s3" service
(e.g., "us-west-2"). A list of available public regions and endpoints can be
found at http://docs.aws.amazon.com/general/latest/gr/rande.html.
「.envファイルに下記情報を追記する
AWS_ACCESS_KEY_ID= 上記手順でユーザーを作成した際に表示されたAccess key ID
AWS_SECRET_ACCESS_KEY= 上記手順でユーザーを作成した際に表示されたSecret access key
AWS_DEFAULT_REGION=ap-northeast-1 (東京リージョンで作成したため)
AWS_BUCKET= 上記手順で作成したbucket名 」
👆の部分が原因。.envファイルに入力はしていたのですが、
Herokuアプリの環境変数はすべてheroku config:set
コマンドで設定する必要があります。
それぞれ入力するとHerokuの設定が変更されます。
heroku config:set AWS_ACCESS_KEY_ID=\
heroku config:set AWS_SECRET_ACCESS_KEY=\
heroku config:set AWS_DEFAULT_REGION=\
heroku config:set AWS_BUCKET=\
完成!
画像アップできるようになりました!