###### tags: `專案` # Rails 6 Active Storge 上傳圖片至 Amazon S3 **操作前提: 在local可以成功上傳圖片,(下圖的圖片預覽是我自己添加的表示可以在本地成功上傳)** ![](https://i.imgur.com/eAFqEUK.png) ## 開始主題操作: 在config中更改 production.rb 以及 development.rb 的儲存位置 `config.active_storage.service = :amazon` production.rb 是為了正式上線使用,例如未來部署到Heroku的需求; 但為了測試目前在本地可以成功將資料上傳至Amazon S3 ,我也一併在 development.rb 改至 :amazon ![](https://i.imgur.com/QEaxlBB.png) ![](https://i.imgur.com/ozPFCQ9.png) ## 開始在 Amazon 設定 S3 (請先行創建自己的帳號) ### Step 1 創建 Bucket 儲存槽 ![](https://i.imgur.com/kQ13ZZf.png) ![](https://i.imgur.com/U6AuSwo.png) **命名完成即可,伺服器我選東京 ap-northeast-1,其他預設勾選不必變更** ![](https://i.imgur.com/RRO8jQR.png) ** 開始在 storge.yml 設置 S3 的需求** ![](https://i.imgur.com/QUFvnE9.png) ![](https://i.imgur.com/sC1wWHq.png) ### Step 2 創建 IAM ![](https://i.imgur.com/yOiLPDR.png) ![](https://i.imgur.com/nnHmpUK.png) ![](https://i.imgur.com/aX6LJ9s.png) ![](https://i.imgur.com/58Yy5Kn.png) ![](https://i.imgur.com/8SNt0Qg.png) ![](https://i.imgur.com/CxwF7GQ.png) ![](https://i.imgur.com/UGIW0NX.png) **這裡很重要!!請先 Download.csv 這兩組密碼保存** ![](https://i.imgur.com/fcjTUiw.png) ### step 3 寫入 access_key_id 和 secret_access_key ![](https://i.imgur.com/smuVfxK.png) 為了測試上傳的立即性,我並未使用環境變數來儲存我的 access_key_id 和 secret_access_key,這在**正式開發過程是大忌**,會有遭人竊取的問題(有用戶這兩組 id 被駭客拿去開 AWS 付費伺服器挖礦),設定環境變數的方式可以參考 dotenv 套件的文章 ### step 4 安裝 aws-sdk-s3 ![](https://i.imgur.com/Fu5ceUo.png) ![](https://i.imgur.com/Ap3EEPA.png) ## 成功上傳後,去 Amazon S3 查看檔案 ![](https://i.imgur.com/xPadZyv.png) ![](https://i.imgur.com/NkV9OGe.png) ![](https://i.imgur.com/zAevg6g.png) ![](https://i.imgur.com/DotD3QU.png)