From: Toshi MARUYAMA Date: Tue, 22 Mar 2011 16:56:52 +0000 (+0000) Subject: scm: set mime type in downloading file. X-Git-Tag: 1.2.0~634 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f15b12556f01be2eca445f13bed33ce463146ed6;p=redmine.git scm: set mime type in downloading file. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5210 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index a4719423e..475472509 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -127,7 +127,10 @@ class RepositoriesController < ApplicationController (@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 diff --git a/test/functional/repositories_filesystem_controller_test.rb b/test/functional/repositories_filesystem_controller_test.rb index aa090d3ab..5df886567 100644 --- a/test/functional/repositories_filesystem_controller_test.rb +++ b/test/functional/repositories_filesystem_controller_test.rb @@ -98,8 +98,7 @@ class RepositoriesFilesystemControllerTest < ActionController::TestCase 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 diff --git a/test/functional/repositories_mercurial_controller_test.rb b/test/functional/repositories_mercurial_controller_test.rb index 8247bcb00..0c638df12 100644 --- a/test/functional/repositories_mercurial_controller_test.rb +++ b/test/functional/repositories_mercurial_controller_test.rb @@ -222,8 +222,7 @@ class RepositoriesMercurialControllerTest < ActionController::TestCase 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