当我下载名称中包含"."
的文件时,我的代码会抛出异常:
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
我该如何解决?
答案 0 :(得分:0)
这很可能是由于您的路线不支持多个“。”在路上。例如,如果您的路线如下所示:
'/test/download/:path.:extension'
如果文件名包含多个“。”
,则会中断相反,你可以做这样的路由:
'/test/download/*path.:extension'
这将确保多个“。”正在运作