Получить полный путь к файлу file_field в рельсах
Я пытаюсь получить полный путь от изображения, которое я загружаю с помощью помощника 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 ответ
Решение
Вы не можете получить полный путь к файлу через тип ввода "файл". Браузер не допустит этого. Это функция безопасности во всех современных браузерах.
В Chrome вы получите
C:\fakepath\filename.ext
в то время как в Mozilla вы получаете только имя файла
filename.ext
Вы можете найти много других вопросов, связанных с этим. увидеть