获取rails中file_field图像的完整路径

时间:2014-06-10 04:29:14

标签: ruby-on-rails ruby image file-upload filefield

我正在尝试从我使用rails file_field帮助程序上传的图像中获取完整路径。

%h4 Upload Image
.col-sm-8
  =label_tag "Upload Image"
.col-sm-4  
  =form_tag(controller:"images", :html => {:multipart => true}) do
    =select("app", "app", ["#{Rails.env}_thing", "#{Rails.env}_otherthing"], {include_blank: true})
    =file_field :post, :image
    %button.btn.btn-primary.btn-block{:type => "submit"}
      ="Upload Image"

当它击中控制器动作时,参数是:

{"utf8"=>"✓", "authenticity_token"=>"kVf52OKMdkQPte/jA99R33213123210WRklc2uMhGdM=", "app"=>{"app"=>"development_thing"}, "post"=>{"image"=>"picture.png"}, "html"=>{"multipart"=>"true"}, "action"=>"create", "controller"=>"images"}

我真正想要的是该图像文件的完整路径。我怎么会这样?所以如果我从我的桌面上传它将是" /Users/bob/desktop/picture.png"

谢谢!

1 个答案:

答案 0 :(得分:0)

您无法通过输入类型“文件”获取文件的完整路径。浏览器不允许它。它是所有现代浏览器中的安全功能。

在Chrome中你会得到

C:\fakepath\filename.ext

而在mozilla你只得到文件名

filename.ext

您可以找到许多与此相关的其他问题。 见

How to get the full path of the file from a file input

Full path from file input using jQuery