2017-11-16 13 views

答えて

1

send_fileは、多目的で効率的です。

主な利点は、X-Sendfile応答ヘッダーを使用することです。それは、Rubyからハイスループットのコンテンツ配信に最適化されたサーバー(NginxやApacheなど)へのファイルのストリーミングプロセスをオフロードすることです。

プレーンの 'ダウンロード'リンクは、表示される内容に関係なくターゲットを保存します。たとえば、ターゲットがセッションで保護されていて、リンクをクリックする前にセッションが期限切れになると、これは問題になる可能性があります。ログインページを知らずに保存することになります。 send_fileを使用すると、セッションが正常であれば動的にダウンロードを開始し、それ以外の場合はログインページにリダイレクトすることができます。

send_fileまた、意味のあるファイル名を動的に指定できるため、リンクが/ users/42を指している場合は、暗黙の「42」の代わりにダウンロード名を「John Smith.csv」に設定できます。 。

関連する問題