5

Amazon s3 を使用してイメージをバケットに投稿することで heroku にデプロイされたアプリケーションがあります。これは完全に正常に動作します。しかし、同じ画像を取得するとエラーが発生します:

Errno::ENOENT (No such file or directory showing path s3.amazonaws.com/bucket_name/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115)

ブラウザの URL での同じパスのコピー アンド ペーストが機能しません。バケット名をエンドポイントとして使用している場合、次のパスで動作します

/bucket_name.s3.amazonaws.com/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115.

しかし、モデルでこの URL を構成する方法がわかりません。aws-sdkを構成するherokuの方法に従っています。

 https://devcenter.heroku.com/articles/paperclip-s3

モデル has_attached_file は、ここに何かが欠けているようです。残りの構成については、上記のリンクを確認できます。

has_attached_file :image, :styles => { :medium => "100x100>", :thumb => "100x100>" }

ありがとう

4

1 に答える 1

2

指定されたコードを config/initializers/paper_clip.rb に含めると、問題が解決しました。

    Paperclip::Attachment.default_options.merge!(
        :url => ':s3_domain_url',
        :path => 'app/public/:class/:attachment/:id_partition/:style/:filename'
    )
于 2013-03-05T17:42:45.900 に答える