Send your files to the end user by streaming them from S3
Usage
Installation
Add the gem to your Gemfile and Bundle :
Install initializer file :
rails generate s3streamer:install
Edit the initializer file with your AWS S3 credentials and your bucket name,
and restart your server.
Note: You can avoid setting your bucket if you pass it directly to the
#stream_file method options.
Controller
Now, you can use the #stream_file method in your controllers.
def download stream_file("file/key.ext") end
It can also accept a Paperclip::Attachment object. This method will
automatically add "content_type=xxx/xxx" to the Content-Disposition HTTP
response header.
def download model = Model.find(params[:id]) stream_file(model.file) end
There also are options that you can pass :
def download stream_file("file/key.ext", { name: "File name to be used.pdf", content_type: "application/pdf", bucket: "your_bucket" }) end