Setting Response Headers for aws_s3 download requests in ruby
I am using presigned urls for users to download their files from S3 and they were always opened by default by their browser and I want to override the behavior.
http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Presigner.html
According to the documents, the only parameters they accept are :expires, :virtual_host, and :secure.
However, after mucking around I realised you could set the header in the method which wasn't mentioned in the docs, like so:
client = Aws::S3::Client.new(credentials: Aws::Credentials.new(access_key, secret))
signer = Aws::S3::Presigner.new(client: client)
signer.presigned_url(:get_object, bucket: bucket, key: key, response_content_disposition: 'attachment')
No need for hacks to create a custom method for it!
Written by yaojie
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ruby
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#