@@ -86,6 +86,7 class AttachmentsController < ApplicationController | |||
|
86 | 86 | @attachment = Attachment.new(:file => request.raw_post) |
|
87 | 87 | @attachment.author = User.current |
|
88 | 88 | @attachment.filename = params[:filename].presence || Redmine::Utils.random_hex(16) |
|
89 | @attachment.content_type = params[:content_type].presence | |
|
89 | 90 | saved = @attachment.save |
|
90 | 91 | |
|
91 | 92 | respond_to do |format| |
@@ -94,6 +94,7 function uploadBlob(blob, uploadUrl, attachmentId, options) { | |||
|
94 | 94 | uploadUrl = uploadUrl + '?attachment_id=' + attachmentId; |
|
95 | 95 | if (blob instanceof window.File) { |
|
96 | 96 | uploadUrl += '&filename=' + encodeURIComponent(blob.name); |
|
97 | uploadUrl += '&content_type=' + encodeURIComponent(blob.type); | |
|
97 | 98 | } |
|
98 | 99 | |
|
99 | 100 | return $.ajax(uploadUrl, { |
@@ -33,6 +33,16 class AttachmentsTest < Redmine::IntegrationTest | |||
|
33 | 33 | assert_equal 'text/plain', attachment.content_type |
|
34 | 34 | end |
|
35 | 35 | |
|
36 | def test_upload_should_accept_content_type_param | |
|
37 | log_user('jsmith', 'jsmith') | |
|
38 | assert_difference 'Attachment.count' do | |
|
39 | post "/uploads.js?attachment_id=1&filename=foo&content_type=image/jpeg", "File content", {"CONTENT_TYPE" => 'application/octet-stream'} | |
|
40 | assert_response :success | |
|
41 | end | |
|
42 | attachment = Attachment.order(:id => :desc).first | |
|
43 | assert_equal 'image/jpeg', attachment.content_type | |
|
44 | end | |
|
45 | ||
|
36 | 46 | def test_upload_as_js_and_attach_to_an_issue |
|
37 | 47 | log_user('jsmith', 'jsmith') |
|
38 | 48 |
General Comments 0
You need to be logged in to leave comments.
Login now