mag*_*dae 1 ruby ruby-on-rails
我想在Rails中做一个简单的文件上传。
我的模板:
<%= form_tag(controller: "my_controller", action: "change_profile_picture", multipart: true) do %>
<div class="field">
<%= label_tag :file %>
<%= file_field_tag :file %>
</div>
<div class="actions">
<%= submit_tag 'Submit' %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我的处理程序:
def change_profile_picture
profile_picture = params[:file]
File.open(Rails.root.join('public', 'uploads', profile_picture.original_filename), 'wb') do |file|
file.write(profile_picture.read)
end
redirect_to :test, params: { profile_picture: params[:file] }
end
Run Code Online (Sandbox Code Playgroud)
文件打开序列只是从Rails教程中获取的。
我的问题是,如果我进行检查,请检查类以及params [:file]上的所有其他内容,它是一个字符串,而检查仅向我显示了该字符串。例如:“ my_picture.jpg”。
输入不具有任何original_filename或文件应具有的任何其他属性。
任何的想法?
尝试
form_tag({controller: "my_controller", action: "change_profile_picture"}, multipart: true)