From c9108f3e399ad2b81d7001489a4036d69333add5 Mon Sep 17 00:00:00 2001 From: Thomas Fuchs Date: Fri, 9 Feb 2007 11:25:37 +0000 Subject: Add a :url_based_filename => true option to ActionController::Streaming::send_file, which allows URL-based filenames. [Thomas Fuchs] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6142 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_controller/streaming.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'actionpack/lib/action_controller/streaming.rb') diff --git a/actionpack/lib/action_controller/streaming.rb b/actionpack/lib/action_controller/streaming.rb index 484913c7df..f82d7cf397 100644 --- a/actionpack/lib/action_controller/streaming.rb +++ b/actionpack/lib/action_controller/streaming.rb @@ -29,6 +29,9 @@ module ActionController #:nodoc: # * :buffer_size - specifies size (in bytes) of the buffer used to stream the file. # Defaults to 4096. # * :status - specifies the status code to send with the response. Defaults to '200 OK'. + # * :url_based_filename - set to true if you want the browser guess the filename from + # the URL, which is necessary for i18n filenames on certain browsers + # (setting :filename overrides this option). # # The default Content-Type and Content-Disposition headers are # set to download arbitrary binary files in as many browsers as @@ -59,7 +62,7 @@ module ActionController #:nodoc: raise MissingFile, "Cannot read file #{path}" unless File.file?(path) and File.readable?(path) options[:length] ||= File.size(path) - options[:filename] ||= File.basename(path) + options[:filename] ||= File.basename(path) unless options[:url_based_filename] send_file_headers! options @performed_render = false -- cgit v1.2.3