gpt4 book ai didi

ruby-on-rails - 如何从Rails应用程序下载文件

转载 作者:行者123 更新时间:2023-12-03 12:06:43 27 4
gpt4 key购买 nike

我似乎在任何地方都找不到针对这个问题的简单明了的答案!一切似乎都已过时或不完整!

我只希望用户能够单击链接或按钮并下载文件(位于公用文件夹中的某个位置)

我尝试了这个:

#view
<%= link_to "Raw blast output" ,:action => :download, :file_name => "public/data/02_blastout/#{@bl_file}" %>
#controller
def download
send_file "#{RAILS_ROOT}/#{params[:file_name]}"
end

但是我得到这个错误:
No route matches {:action=>"download", :file_name=>"public/data/02_blastout/input0.fa_x_Glyma1aaunq.bl", :controller=>"cvits"}

谢谢您的帮助!!

最佳答案

请勿将send_file与用户设置的参数一起使用。这开辟了一个巨大的安全漏洞,允许用户访问您的应用程序可读的任何文件(即整个应用程序,也可能访问文件系统上的其他文件)。

相反,如果文件是公开的,则链接到文件本身。在您的情况下:

<%= link_to "Raw blast output", "/data/02_blastout/#{@bl_file}" %>

无需特殊的 Controller 操作。

关于ruby-on-rails - 如何从Rails应用程序下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6392003/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com