controller
def uploadss
@attachment = Attachment.new(:file => request.raw_post)
@attachment.author = User.current
@attachment.filename = params[:filename].presence || Redmine::Utils.random_hex(16)
@attachment.files_to_final_location
puts @attachment.diskfile
respond_to do |format|
format.js
format.api {
if saved
render :action => ‘upload‘, :status => :created
else
render_validation_errors(@attachment)
end
}
end
end
routes
match ‘uploadss‘, :to => ‘foos#uploadss‘, :via => :post
erb
<span class="add_attachment">
<%= file_field_tag ‘attachments[dummy][file]‘,
:id => nil,
:class => ‘file_selector‘,
:multiple => true,
:size => 100,
:onchange => ‘uploadBlob(this.files[0],"uploadss.js",1,"");‘,
:data => {
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
:max_concurrent_uploads => Redmine::Configuration[‘max_concurrent_ajax_uploads‘].to_i,
:upload_path => "uploadss.js",
:description_placeholder => l(:label_optional_description)
} %>
(<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
</span>
<% content_for :header_tags do %>
<%= javascript_include_tag ‘attachments‘ %>
<%= javascript_include_tag ‘test‘, :plugin=>‘redmine_standard‘ %>
<% end %>
Rails redmine upload