如何动态路由到下载

时间:2011-06-12 05:30:28

标签: ruby-on-rails ruby ruby-on-rails-3

基本上,这就是我的应用程序所做的:

  • 发送AJAX请求
  • 服务器创建文件
  • 服务器发回的URL 文件位置
  • 客户端将尝试
    创建一个下载文件的对话框 在那个位置(可能使用一个 帧?我还没有这么远)。

我的问题是,如何动态路由到我创建的文件,以便在浏览它们时可以访问它们?如果我没有为他们添加路由,那么如果他们尝试访问他们所在的目录,他们将获得404.

这些文件目前存储在公共文件夹中。

处理此问题的最佳方法是使文件夹以某种方式不需要路由,以便可以直接浏览它,然后在其上有一个索引页面,以便它们无法查看完整的文件列表?如果是这样,请让我知道如何实现这一目标。另外,如果您知道如何完成JS显示下载对话框,请告诉我。

顺便说一句是Rails 3。

谢谢!

1 个答案:

答案 0 :(得分:2)

对于完整的私有文件集:在公共目录之外选择文件的位置,然后在Web服务器中配置X-SendFile支持,最后在rails应用程序中使用send_file