@@ -52,7 +52,7 class Attachment < ActiveRecord::Base | |||
|
52 | 52 | cattr_accessor :thumbnails_storage_path |
|
53 | 53 | @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails") |
|
54 | 54 | |
|
55 |
before_ |
|
|
55 | before_create :files_to_final_location | |
|
56 | 56 | after_destroy :delete_from_disk |
|
57 | 57 | |
|
58 | 58 | # Returns an unsaved copy of the attachment |
@@ -80,9 +80,6 class Attachment < ActiveRecord::Base | |||
|
80 | 80 | if @temp_file.respond_to?(:content_type) |
|
81 | 81 | self.content_type = @temp_file.content_type.to_s.chomp |
|
82 | 82 | end |
|
83 | if content_type.blank? && filename.present? | |
|
84 | self.content_type = Redmine::MimeType.of(filename) | |
|
85 | end | |
|
86 | 83 | self.filesize = @temp_file.size |
|
87 | 84 | end |
|
88 | 85 | end |
@@ -124,6 +121,10 class Attachment < ActiveRecord::Base | |||
|
124 | 121 | self.digest = md5.hexdigest |
|
125 | 122 | end |
|
126 | 123 | @temp_file = nil |
|
124 | ||
|
125 | if content_type.blank? && filename.present? | |
|
126 | self.content_type = Redmine::MimeType.of(filename) | |
|
127 | end | |
|
127 | 128 | # Don't save the content type if it's longer than the authorized length |
|
128 | 129 | if self.content_type && self.content_type.length > 255 |
|
129 | 130 | self.content_type = nil |
@@ -23,6 +23,16 class AttachmentsTest < Redmine::IntegrationTest | |||
|
23 | 23 | :trackers, :projects_trackers, |
|
24 | 24 | :issue_statuses, :enumerations |
|
25 | 25 | |
|
26 | def test_upload_should_set_default_content_type | |
|
27 | log_user('jsmith', 'jsmith') | |
|
28 | assert_difference 'Attachment.count' do | |
|
29 | post "/uploads.js?attachment_id=1&filename=foo.txt", "File content", {"CONTENT_TYPE" => 'application/octet-stream'} | |
|
30 | assert_response :success | |
|
31 | end | |
|
32 | attachment = Attachment.order(:id => :desc).first | |
|
33 | assert_equal 'text/plain', attachment.content_type | |
|
34 | end | |
|
35 | ||
|
26 | 36 | def test_upload_as_js_and_attach_to_an_issue |
|
27 | 37 | log_user('jsmith', 'jsmith') |
|
28 | 38 |
General Comments 0
You need to be logged in to leave comments.
Login now