def detect_content_type(attachment)
content_type = attachment.content_type
- if content_type.blank?
+ if content_type.blank? || content_type == "application/octet-stream"
content_type = Redmine::MimeType.of(attachment.filename)
end
content_type.to_s
filesize: 157
filename: archive.zip
author_id: 2
- content_type: application/octet-stream
+ content_type: application/zip
attachments_007:
created_on: 2006-07-19 21:07:27 +02:00
container_type: Issue
filesize: 157
filename: archive.zip
author_id: 1
- content_type: application/octet-stream
+ content_type: application/zip
attachments_008:
created_on: 2006-07-19 21:07:27 +02:00
container_type: Project
def test_show_other
get :show, :id => 6
assert_response :success
- assert_equal 'application/octet-stream', @response.content_type
+ assert_equal 'application/zip', @response.content_type
set_tmp_attachments_directory
end
set_tmp_attachments_directory
end
+ def test_download_should_assign_better_content_type_than_application_octet_stream
+ Attachment.find(4).update! :content_type => "application/octet-stream"
+
+ get :download, :id => 4
+ assert_response :success
+ assert_equal 'text/x-ruby', @response.content_type
+ set_tmp_attachments_directory
+ end
+
def test_download_missing_file
get :download, :id => 2
assert_response 404
test "GET /attachments/download/:id/:filename should return the attachment content" do
get '/attachments/download/7/archive.zip', {}, credentials('jsmith')
assert_response :success
- assert_equal 'application/octet-stream', @response.content_type
+ assert_equal 'application/zip', @response.content_type
set_tmp_attachments_directory
end