Module: Ramaze::Helper::SendFile
- Defined in:
- lib/ramaze/helper/send_file.rb
Overview
The SendFile module can be used to stream a file to the user’s computer. While the performance of the module isn’t optimal it’s convenient and relatively easy to use.
Instance Method Summary collapse
-
#send_file(filename, content_type = nil, content_disposition = nil) ⇒ Object
The send_file method streams the specified file to the user’s browser.
Instance Method Details
#send_file(filename, content_type = nil, content_disposition = nil) ⇒ Object
The send_file method streams the specified file to the user’s browser.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ramaze/helper/send_file.rb', line 20 def send_file(filename, content_type = nil, content_disposition = nil) content_type ||= Rack::Mime.mime_type(::File.extname(filename)) content_disposition ||= File.basename(filename) response.body = ::File.open(filename, 'rb') response['Content-Length'] = ::File.size(filename).to_s response['Content-Type'] = content_type response['Content-Disposition'] = content_disposition response.status = 200 throw(:respond, response) end |