From 29413d6bee315990b1e7b8e40e28c5abd9d3fd21 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 17 Sep 2007 16:51:39 +0000 Subject: [PATCH] Fixed: error when uploading a file with a content type longer than 60 chars. (Maximum size changed to 255. Mime type not saved if longer) git-svn-id: http://redmine.rubyforge.org/svn/trunk@739 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/attachment.rb | 4 ++++ db/migrate/070_change_attachments_content_type_limit.rb | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 db/migrate/070_change_attachments_content_type_limit.rb diff --git a/app/models/attachment.rb b/app/models/attachment.rb index f57038b96..4591a1109 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -61,6 +61,10 @@ class Attachment < ActiveRecord::Base end self.digest = Digest::MD5.hexdigest(File.read(diskfile)) end + # Don't save the content type if it's longer than the authorized length + if self.content_type && self.content_type.length > 255 + self.content_type = nil + end end # Deletes file on the disk diff --git a/db/migrate/070_change_attachments_content_type_limit.rb b/db/migrate/070_change_attachments_content_type_limit.rb new file mode 100644 index 000000000..e3dfacc3c --- /dev/null +++ b/db/migrate/070_change_attachments_content_type_limit.rb @@ -0,0 +1,9 @@ +class ChangeAttachmentsContentTypeLimit < ActiveRecord::Migration + def self.up + change_column :attachments, :content_type, :string + end + + def self.down + change_column :attachments, :content_type, :string, :limit => 60 + end +end