【问题标题】:send_file vs html5 download attributesend_file vs html5 下载属性
【发布时间】:2017-11-16 04:37:40
【问题描述】:

看起来现在每个浏览器都支持HTML5 download attribute,我想知道使用它而不是创建链接并在带有 Rails 的控制器中使用send_file 是否有任何优点/缺点。

【问题讨论】:

    标签: ruby-on-rails ruby html cross-browser


    【解决方案1】:

    send_file 更通用,更高效。

    它的主要优点是它使用X-Sendfile 响应头。这样做是将文件的流式处理从 Ruby 卸载到针对高吞吐量内容交付进行了优化的服务器(例如 Nginx 或 Apache)。

    简单的“下载”链接会保存目标,无论目标上显示什么。例如,如果目标受会话保护,并且会话在您单击链接之前到期,这可能会出现问题。您最终会在不知情的情况下保存登录页面。使用send_file,如果会话正常,您可以动态启动下载,否则重定向到登录页面。

    send_file 还允许您动态指定一个有意义的文件名,因此如果您的链接指向 /users/42,您可以将下载名称设置为“John Smith.csv”而不是神秘的“42 ”。

    【讨论】:

      猜你喜欢
      • 2020-09-06
      • 2014-12-30
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多