rails 从公共文件夹下载文件
Posted
技术标签:
【中文标题】rails 从公共文件夹下载文件【英文标题】:rails download file from public folder 【发布时间】:2019-01-19 17:09:52 【问题描述】:在我的本地,我写过
<%= link_to 'App', "/App.apk", data: no_turbolink: true %>
工作正常 只需下载公共文件夹中的 App.apk 文件
但在生产中,相同的链接给出了错误
Not Found
The requested URL /App.apk/ was not found on this server.
谁能告诉我为什么它的行为不同 在不同的环境中
提前谢谢你
【问题讨论】:
你应该在app/config/environments/production.rb
中添加这一行config.serve_static_assets = true
感谢您的回复,但没有成功
@Anjalikhant 请检查我的答案,这对你有用吗?
是的,请给我半小时,我正忙于其他工作
如果文件存在于公共目录中,您是否检查了服务器?你能查一下File.exist?("#Rails.root/public/app.apk")
【参考方案1】:
不要在直接链接中添加路径,而是创建一个从公共文件夹下载文件的操作。
routes.rb
get 'download_apk'
在您的控制器中添加以下下载 apk 文件的操作
def download_apk
send_file("#Rails.root/public/App.apk")
end
【讨论】:
以上是关于rails 从公共文件夹下载文件的主要内容,如果未能解决你的问题,请参考以下文章
Rails 3.2 Nginx Unicorn 总是尝试从公共文件夹加载 index.html (403)
如何在 Rails 5.x.x 应用程序中以 Zip 格式从 S3 下载多个文件?