Feature #4477 » mime_type_and_inlne_repo_files.patch
| app/controllers/repositories_controller.rb | ||
|---|---|---|
| 115 | 115 |
@content = @repository.cat(@path, @rev) |
| 116 | 116 |
show_error_not_found and return unless @content |
| 117 | 117 |
if 'raw' == params[:format] || @content.is_binary_data? || (@entry.size && @entry.size > Setting.file_max_size_displayed.to_i.kilobyte) |
| 118 |
# Try to guess the content-type |
|
| 119 |
en = @entry.name |
|
| 120 |
mime = Mime::Type.lookup_by_extension(en[en.rindex('.')+1, en.size].downcase) unless en.rindex('.').nil?
|
|
| 121 |
options = { :filename => @path.split('/').last }
|
|
| 122 |
options.merge!( :type => mime, :disposition => "inline" ) unless mime.nil? |
|
| 118 | 123 |
# Force the download |
| 119 |
send_data @content, :filename => @path.split('/').last
|
|
| 124 |
send_data @content, options
|
|
| 120 | 125 |
else |
| 121 | 126 |
# Prevent empty lines when displaying a file with Windows style eol |
| 122 | 127 |
@content.gsub!("\r\n", "\n")
|