Ruby on rails 如何在RubyonRails中获取所选文件的完整路径?
我在视图中放置了一个Ruby on rails 如何在RubyonRails中获取所选文件的完整路径?,ruby-on-rails,excel,import,spreadsheet,Ruby On Rails,Excel,Import,Spreadsheet,我在视图中放置了一个文件\u字段: <% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %> <%= f.file_field :uploaded_file %> <br> <%= f.submit "Submit" %> <% end %> {:action=>'cop
文件\u字段
:
<% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %>
<%= f.file_field :uploaded_file %> <br>
<%= f.submit "Submit" %>
<% end %>
{:action=>'copy'},:html=>{:multipart=>true})do | f |%>
我的控制器中有一个读取Excel文件的方法:
def copy
file = ""
book = Spreadsheet.open 'excel_file'
table = book.worksheet 'excel_sheet'
table.each do |row|
file << row
end
end
def拷贝
file=“”
book=电子表格。打开“excel\u文件”
table=book.worksheet“excel\u工作表”
表1.每行|
文件“BbQRomTLhiF2O54/G6eHwnnaWbLttUSvo31FO3ZtKoA=”,
“上传的_文件”=>{“上传的_文件”=>#},“提交”=>“提交”}
我正在尝试获取所选文件的路径,以便将其插入到我的电子表格.open方法中。错误消息是:没有这样的文件或目录
我想使用我在视图中的文件字段中选择的文件路径,而不是我的excel文件路径'excel\u file'
。如何使用此参数
谢谢大家! 文件。绝对路径(文件)
在现代浏览器中,无法从表单获取文件路径。您只能使用tempfile,它应该作为params[:upload\u file][:tempfile]
编辑尝试
file = Spreadshet::Excel.new('params[ :uploaded_file ][ :filename ]', 'w+')
file.write( params[ :uploaded_file ][ :tempfile ].read )
您是指文件在服务器上的完整位置,还是指文件在用户机器上的完整位置?因为您无法在用户的机器上获取有关用户机器的信息,但是,如果我不能这样做,用户如何选择要读取并附加到数据库中的xls文件?(不需要路径)哦,用户可以使用浏览器的“文件选择器”对话框选择文件,但发送到服务器的只是文件名和文件内容。文件内容是参数:upload\u file
?或者它是其他东西?我在哪里使用这些参数?对不起,我对Rails真的很陌生,我正在尝试获取所选文件的路径,以便将其插入我的电子表格中。打开方法…好的。我尝试了很多不同的方法,但我没有发现问题所在。在做了你告诉我的事情之后,我总是会收到这个错误消息<代码>电子表格的未定义方法“新建”:模块
谢谢!
file = Spreadshet::Excel.new('params[ :uploaded_file ][ :filename ]', 'w+')
file.write( params[ :uploaded_file ][ :tempfile ].read )