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=\

 

 

完成!

画像アップできるようになりました!