在 Rails 中提供文件的最简单方法是什么?
我的意思是:我想去,比方说,http://myserver.com/assets/arbitraryfile.arbitraryformat并让它在浏览器中加载 arbitraryfile.arbitraryformat
,让浏览器决定是下载它还是显示它或其他任何东西。 (特别是我打算制作一个小书签,它从服务器调用一个 *.js 文件,然后加载一个 *.css 文件并从中下载一个字体 *.tty 文件。)
目前我有一个 assets
资源路由到一个 assets#show
Action ,但我完全不确定如何编写我的 show
.
最佳答案
您会将数据流式传输到浏览器,让它做任何它需要做的事情。您可以使用两种 rails 方法之一来获得您想要的:
a) 发送数据
foo_data = "This is my data"
send_data(foo_data, filename: "foo_file.txt")
b) send_file(允许您使用路径)
send_file("my_app/assets/public/pdf/my_pdf.pdf", type: "application/pdf")
查看 official doc .
关于ruby-on-rails - 最简单的文件服务方式 - Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38155998/