使用“。”下载文件时出错。在RoR3中的名字

时间:2011-03-07 10:27:10

标签: ruby-on-rails-3 download

当我下载名称中包含"."的文件时,我的代码会抛出异常:

No route matches "/test/download/File%201.0%20BETA.docx"

文件名为:“ File 1.0 BETA.docx

以下是我在控制器文件中下载文件的代码:

  def download
    path = params[:path]
    path = "#{Rails.root}/public/data/" + path
    send_file(path+"."+params[:format])
  end

我该如何解决?

1 个答案:

答案 0 :(得分:0)

这很可能是由于您的路线不支持多个“。”在路上。例如,如果您的路线如下所示:

'/test/download/:path.:extension'

如果文件名包含多个“。”

,则会中断

相反,你可以做这样的路由:

'/test/download/*path.:extension'

这将确保多个“。”正在运作