(@content.size && @content.size > Setting.file_max_size_displayed.to_i.kilobyte) ||
! is_entry_text_data?(@content, @path)
# Force the download
- send_data @content, :filename => filename_for_content_disposition(@path.split('/').last)
+ send_opt = { :filename => filename_for_content_disposition(@path.split('/').last) }
+ send_type = Redmine::MimeType.of(@path)
+ send_opt[:type] = send_type.to_s if send_type
+ send_data @content, send_opt
else
# Prevent empty lines when displaying a file with Windows style eol
# TODO: UTF-16
with_settings :file_max_size_displayed => 1 do
get :entry, :id => PRJ_ID, :path => ['japanese', 'big-file.txt']
assert_response :success
- # TODO: 'text/plain'
- assert_equal 'application/octet-stream', @response.content_type
+ assert_equal 'text/plain', @response.content_type
end
end
else
def test_entry_binary_force_download
get :entry, :id => PRJ_ID, :rev => 1, :path => ['images', 'edit.png']
assert_response :success
- # TODO: 'image/png'
- assert_equal 'application/octet-stream', @response.content_type
+ assert_equal 'image/png', @response.content_type
end
def test_directory_entry