diff --git a/lib/paperclip/attachment.rb b/lib/paperclip/attachment.rb index 5efb267..480c773 100644 --- a/lib/paperclip/attachment.rb +++ b/lib/paperclip/attachment.rb @@ -440,6 +440,7 @@ module Paperclip extname = File.extname(original_filename) basename = File.basename(filename, extname) file = Tempfile.new([basename, extname]).tap(&:binmode) + file.original_filename = filename file.write(body) file.tap(&:flush).tap(&:rewind) end diff --git a/lib/paperclip/upfile.rb b/lib/paperclip/upfile.rb index 7fa7967..9558b64 100644 --- a/lib/paperclip/upfile.rb +++ b/lib/paperclip/upfile.rb @@ -22,9 +22,11 @@ module Paperclip end end + attr_writer :original_filename + # Returns the file's normal name. def original_filename - File.basename(self.path) + @original_filename ||= File.basename(path) end # Returns the size of the file.