scm: set mime type in downloading file.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5210 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-03-22 16:56:52 +00:00
parent cb297048df
commit f15b12556f
3 changed files with 6 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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