簡體   English   中英

Rails回形針Heroku AWS DIsplay圖像問題

[英]Rails Paperclip Heroku AWS DIsplay Image issue

我在Rails應用程序中設置了回形針,在本地和heroku上都可以正常工作,但是帖子中上傳的圖像只保存了很短的時間在heroku中。 我設置了一個AWS賬戶並創建了一個存儲桶,然后按照說明文檔將Rails應用程序鏈接到AWS,以顯示使用回形針上傳的圖像。 我在下面附加了代碼片段。 這些圖像似乎可以上傳到AWS上,但是,當我創建帖子時,它表示我的帖子已成功創建,但是該圖像沒有顯示,只是顯示為斷開的鏈接。 當我單擊圖像屬性時,它具有AWS S3 URL,並且在heroku日志中查找時,沒有已知問題。 我不知道為什么無法顯示圖像。

config / environments / production.rb文件:

 # sets paperclip to upload images to Amazon S3 # Variables directed to heroku via the command line for pw etc config.paperclip_defaults = { storage: :s3, s3_credentials: { bucket: ENV.fetch('S3_BUCKET_NAME'), access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), s3_region: ENV.fetch('AWS_REGION'), } } 

post.rb模型文件:

 class Post < ApplicationRecord extend FriendlyId friendly_id :title, use: [:slugged, :finders] has_attached_file :image, styles: { medium: "600x", thumb: "100x" } validates_attachment_content_type :image, content_type: /\\Aimage\\/.*\\z/ end 

show.html.erb文件:

 <div class="image"> <%= image_tag @post.image.url(:medium) %> </div> 

我還使用以下命令正確設置了heroku:

$ heroku config:set S3_BUCKET_NAME=your_bucket_name
$ heroku config:set AWS_ACCESS_KEY_ID=your_access_key_id
$ heroku config:set AWS_SECRET_ACCESS_KEY=your_secret_access_key
$ heroku config:set AWS_REGION=your_aws_region

任何幫助,將不勝感激。

非常感謝

根據Judd對Paperclip,S3,Heroku:缺少圖像的回答,這是因為我需要在回形針的默認設置中聲明s3_host_name:

 # sets paperclip to upload images to Amazon S3 # Variables directed to heroku via the command line for pw etc config.paperclip_defaults = { storage: :s3, s3_host_name: 's3-eu-west-1.amazonaws.com', s3_credentials: { bucket: ENV.fetch('S3_BUCKET_NAME'), access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), s3_region: ENV.fetch('AWS_REGION'), } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM