【问题标题】:Upload file, not such file or directory - rails 4上传文件,而不是这样的文件或目录 - rails 4
【发布时间】:2014-03-18 18:07:14
【问题描述】:

我在索引中有这个(pieces_path)

<%= form_tag (upload_pieces_path) do%>
  <%= file_field_tag 'data' %>
  <%= submit_tag %>
<% end %>

这在碎片控制器中

def upload
  file_data = params[:data]
  File.read(file_data, 'r') do |file|

     file.each do |line|
       ## .... ##
     end

   end
   redirect_to pieces_path
end

最后的路线

match '/upload_pieces', to: 'pieces#upload', via: 'post'

想法是在视图中读取一个文件,然后对他做一些事情,而不是将它保存在数据库中,然后返回上一页。

但是当我测试它时,我在上传文件时收到“没有这样的文件或目录”错误。

任何想法?,我做错了什么?

【问题讨论】:

    标签: ruby-on-rails ruby file-upload ruby-on-rails-4 filepath


    【解决方案1】:

    您应该将multipart 选项添加到form_tag

    <%= form_tag(upload_pieces_path, multipart: true) do %>
      <%= file_field_tag 'data' %>
      <%= submit_tag %>
    <% end %>
    

    【讨论】:

    • 谢谢市场 你只是跳过控制器中的file = file_data.read 而不是File.read(file_data, 'r'),但你帮了我很多
    • 不客气。我认为Rack 使用this class 解析文件,所以也应该是有效的:File.read(file_data.original_filename, 'r')
    猜你喜欢
    • 2014-10-23
    • 2012-04-07
    • 2017-03-04
    • 2019-08-12
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 2015-12-14
    • 2012-11-03
    相关资源
    最近更新 更多