aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/app/models/active_storage/filename.rb
diff options
context:
space:
mode:
authorGeorge Claghorn <george@basecamp.com>2017-08-21 16:34:18 -0400
committerGeorge Claghorn <george@basecamp.com>2017-08-21 18:23:15 -0400
commit63395aba5a96cf7f915ac97c2ac1c42f58a9a850 (patch)
tree1bfa3b8e10b09b846bc82535e1d4080a6d4270a9 /activestorage/app/models/active_storage/filename.rb
parent2fb658d1e39364926aebd09f264d395bd1863e56 (diff)
downloadrails-63395aba5a96cf7f915ac97c2ac1c42f58a9a850.tar.gz
rails-63395aba5a96cf7f915ac97c2ac1c42f58a9a850.tar.bz2
rails-63395aba5a96cf7f915ac97c2ac1c42f58a9a850.zip
Encode Content-Disposition filenames according to RFC 2231
Closes #30134.
Diffstat (limited to 'activestorage/app/models/active_storage/filename.rb')
-rw-r--r--activestorage/app/models/active_storage/filename.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activestorage/app/models/active_storage/filename.rb b/activestorage/app/models/active_storage/filename.rb
index df21078718..c2ad5c844c 100644
--- a/activestorage/app/models/active_storage/filename.rb
+++ b/activestorage/app/models/active_storage/filename.rb
@@ -34,6 +34,10 @@ class ActiveStorage::Filename
@filename.encode(Encoding::UTF_8, invalid: :replace, undef: :replace, replace: "�").strip.tr("\u{202E}%$|:;/\t\r\n\\", "-")
end
+ def parameters
+ Parameters.new self
+ end
+
# Returns the sanitized version of the filename.
def to_s
sanitized.to_s