0

編集

生成されたリンクをたどると、次のエラーにリンクします。

アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイントに送信してください。

config/environments/staging.rb でペーパークリップ構成を設定しました

  config.paperclip_defaults = {
    :storage => :s3,
    :s3_credentials => {
      :bucket => ENV['S3_BUCKET'],
      :access_key_id => ENV['S3_KEY'],
      :secret_access_key => ENV['S3_SECRET'],
      :path => "/image/:id/:filename",
      :url => ":s3_domain_url"
    }
  }

heroku ステージング環境の環境変数を設定しました。

$ heroku config:set S3_BUCKET=staging_bucket --remote staging
$ heroku config:set S3_KEY=XXXXX --remote staging
$ heroku config:set S3_SECRET=XXXXX --remote staging

画像は正しくアップロードされているようで、コンソールには表示されますが、Web アプリケーションには表示できません。画像用に生成される URL は次のとおりです。

http://s3.amazonaws.com/myapp-staging/assets/attachments/000/000/004/small/IMG_0902.JPG?1368381995

の後の部分以外は正しいようです。何を指しているのかわかりません。

4

2 に答える 2

0

バケットが公開されていることを確認しましたか?

上記のリンクを開いたときに表示されるメッセージノードの値が「指定されたバケットが存在しません」であるため、お尋ねします。

何年も前に同様の問題に遭遇したことを思い出し、Paperclip (および CarrierWave) を介して S3 バケットに画像をアップロードしていましたが、バケットを「パブリック」に設定したことがありませんでした。画像/ファイルは S3 コンソールに表示されますが、誰も表示できませんでした。

S3 コンソールでバケットのアクセス許可/パブリック ステータスを確認することをお勧めします。https://console.aws.amazon.com/s3

于 2013-05-13T18:18:16.850 に答える