Pass aditional parameters to S3 expiring urls
This adds functionality to add additional params to the querystring for S3 expiring URLs. The reason for this is if you want to override response_content_type or response_content_disposition with expiring URLs, you have to change Amazon's signature, which gets signed before adding additional options to the querystring. Because it's added later, and because Amazon's signature includes the full URL, the signature is bad and the request fails. To use this feature: has_attached_file :avatar, :s3_url_options => { :response_content_disposition => "inline" } Additionally, you can pass a lambda and it'll be evaluated when the URL is generated. If, for example, the content type is incorrect in Amazon (either empty or application/octet-stream), you can effectively cast the response from Amazon as a particular content type. has_attached_file :avatar, :s3_url_options => lambda {|model| { :response_content_type => model.avatar_content_type } }
Showing
Please
register
or
sign in
to comment