diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-04-14 15:56:13 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-04-14 15:56:13 -0500 |
commit | 11d4bfb18cb679b41e7d0b1b34b6e1a453de3591 (patch) | |
tree | d4cfd9f52cf5de2b676cb55a517df310d9606d95 /actionpack/lib/action_dispatch/http | |
parent | 4839fe2e8201835a53ab6c75528a613e8bf25bfb (diff) | |
download | rails-11d4bfb18cb679b41e7d0b1b34b6e1a453de3591.tar.gz rails-11d4bfb18cb679b41e7d0b1b34b6e1a453de3591.tar.bz2 rails-11d4bfb18cb679b41e7d0b1b34b6e1a453de3591.zip |
We aren't using UploadedStringIO and UploadedTempfile anymore
Diffstat (limited to 'actionpack/lib/action_dispatch/http')
-rwxr-xr-x | actionpack/lib/action_dispatch/http/request.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb index 7d47a1566e..523ab32b35 100755 --- a/actionpack/lib/action_dispatch/http/request.rb +++ b/actionpack/lib/action_dispatch/http/request.rb @@ -477,6 +477,34 @@ EOM !(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host)) end + module UploadedFile + def self.extended(object) + object.class_eval do + attr_accessor :original_path, :content_type + alias_method :local_path, :path + end + end + + # Take the basename of the upload's original filename. + # This handles the full Windows paths given by Internet Explorer + # (and perhaps other broken user agents) without affecting + # those which give the lone filename. + # The Windows regexp is adapted from Perl's File::Basename. + def original_filename + unless defined? @original_filename + @original_filename = + unless original_path.blank? + if original_path =~ /^(?:.*[:\\\/])?(.*)/m + $1 + else + File.basename original_path + end + end + end + @original_filename + end + end + # Convert nested Hashs to HashWithIndifferentAccess and replace # file upload hashs with UploadedFile objects def normalize_parameters(value) |