2

Paperclip+S3 はローカル マシンでは機能しますが、Heroku では機能しません。「 AWS ::S3::Errors::SignatureDoesNotMatch」と表示されます

2012-04-20T21:24:37+00:00 app[web.1]: パラメータ: {"utf8"=>"Γ£ô", "authenticit y_token"=>"MHt20N64y9L24Ga2y6gGj8hX06U+td17XIRdqMadcCQ=", "post" =>{"title"=>"test", "organisation_id"=>"1", "content"=>"weeqw", "attachments_attributes"=>{"0"=> {"pic"=>#> }}}, "commit"=>"Create Post"} 2012-04-20T21:24:41+00:00 app[web.1]: 344 6ms で 500 内部サーバー エラーを完了しました 2012-04-20T21:24: 41+00:00 app[web.1]: 2012-04-20T21:24:41+00:00 app[web.1]: AWS::S3::Errors::SignatureDoesNotMatch (計算したリクエスト署名は指定した署名と一致しません。キーと署名方法を確認してください。):

ここに私の attachment.rb モデルがあります:

   has_attached_file :pic, :styles => { :medium => "500x280>",:slide => "180x260>", :thumb => "150x100#" },     
:storage => :s3,
             :bucket => 'sample_bucket',
             :s3_credentials => {
               :access_key_id => 'ASDDSAMPLEKEYDFSDF',
               :secret_access_key => 'Dfsdf887-sample-secret-key-dfdsasd',
             }

このエラーの原因は何ですか?

4

2 に答える 2

1

私はペーパークリップ2.4.5を使用しましたが、モデル内の定義は次のとおりです。

has_attached_file :logo,
                :path => "assets/:class/:attachment/:id/:style.:extension",
                :storage => :s3,
                :bucket => ENV['S3_BUCKET'],
                :s3_permissions => 'authenticated-read',
                :s3_protocol => "http",
                :s3_credentials => { :access_key_id => ENV['S3_KEY'],
                                     :secret_access_key => ENV['S3_SECRET'] },
                :styles => { :index => "72x72>",
                             :billboard => "120x120>" }
于 2012-04-21T00:44:50.693 に答える
1

私はHerokuで同様の問題を抱えていて、これを見つけましたhttps://rubygems.org/gems/paperclip-aws .

これで私の問題は解決しました。

于 2012-05-07T16:05:30.887 に答える