mirror of
https://github.com/redmine/redmine.git
synced 2025-11-08 14:26:04 +01:00
Send a better content type than application/octet-stream (#19131).
git-svn-id: http://svn.redmine.org/redmine/trunk@14034 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -183,7 +183,7 @@ class AttachmentsController < ApplicationController
|
||||
|
||||
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
|
||||
|
||||
4
test/fixtures/attachments.yml
vendored
4
test/fixtures/attachments.yml
vendored
@@ -78,7 +78,7 @@ attachments_006:
|
||||
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
|
||||
@@ -91,7 +91,7 @@ attachments_007:
|
||||
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
|
||||
|
||||
@@ -192,7 +192,7 @@ class AttachmentsControllerTest < ActionController::TestCase
|
||||
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
|
||||
|
||||
@@ -262,6 +262,15 @@ class AttachmentsControllerTest < ActionController::TestCase
|
||||
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
|
||||
|
||||
@@ -65,7 +65,7 @@ class Redmine::ApiTest::AttachmentsTest < Redmine::ApiTest::Base
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user