0
0
Fork 0

Fix #1642, fix #1912 - Dictate content-type file extension (#2078)

* Fix #1642, fix #1912 - Previous change (#1718) did not modify how original file was saved on upload

* Fix for when file is missing
This commit is contained in:
Eugen 2017-04-18 23:15:44 +02:00 committed by GitHub
parent 6bd1019235
commit e09ab2c0bd
3 changed files with 29 additions and 5 deletions

View file

@ -21,6 +21,8 @@ class Account < ApplicationRecord
validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES
validates_attachment_size :header, less_than: 2.megabytes
before_post_process :set_file_extensions
# Local user profile validations
validates :display_name, length: { maximum: 30 }, if: 'local?'
validates :note, length: { maximum: 160 }, if: 'local?'
@ -332,4 +334,20 @@ class Account < ApplicationRecord
self.public_key = keypair.public_key.to_pem
end
end
private
def set_file_extensions
unless avatar.blank?
extension = Paperclip::Interpolations.content_type_extension(avatar, :original)
basename = Paperclip::Interpolations.basename(avatar, :original)
avatar.instance_write :file_name, [basename, extension].delete_if(&:empty?).join('.')
end
unless header.blank?
extension = Paperclip::Interpolations.content_type_extension(header, :original)
basename = Paperclip::Interpolations.basename(header, :original)
header.instance_write :file_name, [basename, extension].delete_if(&:empty?).join('.')
end
end
end