从公用文件夹下载.csv文件说没有文件失败

时间:2016-11-18 14:19:10

标签: html ruby sinatra

我试图设置一个简单的href链接从我的公共文件夹下载.csv文件,但点击它时只是说“失败 - 没有文件”,但我知道所有其他路径到我的公用文件夹工作,因为所有图像都加载。我觉得我错过了一些我不知道的事情。我已经像这样设置了公共文件夹:

set :public_folder, File.dirname(__FILE__) + "/public"

,href如下:

<a href="/csv_file/<%=@file.name%>" download="updated_<%=@file.name%>" style="text-align: center;" download>Download</a>

我希望这是足够的信息。感谢

2 个答案:

答案 0 :(得分:0)

示例项目结构。

$ tree
.
├── app.rb
├── Gemfile
├── public
│   └── lorem.csv
└── views
    └── index.erb

我已经设置了省略局部变量的项目(在你的情况下是@file等)

#app.rb
require 'sinatra'

set :public_folder, File.dirname(__FILE__) + "/public"

get '/' do
  erb :index
end

查看文件

#index.erb
<a href="/lorem.csv" style="text-align: center;" download>Download</a>

点击下载链接时,我得到的是,

enter image description here

您应该做的是检查您视图中的最终网址。还请分享路线块。

答案 1 :(得分:-1)

File.dirname(__ FILE__)返回相对路径。请尝试使用File.expand_path(__ FILE__)。