すべてのブラウザでHTML5 download attributeがサポートされているようですが、リンクを作成してコントローラでsend_file
を使用する代わりに、これを使用するメリットとデメリットがあるかどうかは疑問でした。send_file vs html5ダウンロード属性
3
A
答えて
1
send_file
は、多目的で効率的です。
主な利点は、X-Sendfile応答ヘッダーを使用することです。それは、Rubyからハイスループットのコンテンツ配信に最適化されたサーバー(NginxやApacheなど)へのファイルのストリーミングプロセスをオフロードすることです。
プレーンの 'ダウンロード'リンクは、表示される内容に関係なくターゲットを保存します。たとえば、ターゲットがセッションで保護されていて、リンクをクリックする前にセッションが期限切れになると、これは問題になる可能性があります。ログインページを知らずに保存することになります。 send_file
を使用すると、セッションが正常であれば動的にダウンロードを開始し、それ以外の場合はログインページにリダイレクトすることができます。
send_file
また、意味のあるファイル名を動的に指定できるため、リンクが/ users/42を指している場合は、暗黙の「42」の代わりにダウンロード名を「John Smith.csv」に設定できます。 。
関連する問題
- 1. HTML5ダウンロード属性検出ダウンロード開始
- 2. カスタム属性vs data- *属性
- 3. 属性vsコメント
- 4. MagentoカスタムオプションVS属性
- 5. 属性vs子ノード
- 6. HTML5 <a> Javascriptで属性をダウンロードできませんサーバーエラー
- 7. HTML5ダウンロード用の画像属性がありません
- 8. のHTML5 TRファイル属性
- 9. HTML5タグ<meter>属性
- 10. Laravel Collective HTML5の属性
- 11. NGINXダウンロードが遅くsend_fileで始まる
- 12. Qtダウンロード属性のサポート
- 13. HTML5のid、name、class属性の規則
- 14. HTML5 iframeサンドボックスの属性の問題
- 15. jqueryのデータが値HTML5のデータカスタム属性
- 16. .NET WebフォームでHTML5が必須= ""属性
- 17. HTML5タグ、イベント、属性のテストのサポート
- 18. HTML5のビデオのソース属性のタイプ
- 19. HTML5のパターン属性を使用する
- 20. HTML5 datetime属性の<time>要素
- 21. HTML5カスタム属性の更新値
- 22. html5スタイリング/ jsフックのariaロール属性?
- 23. PHP HTML5からデータ属性を取得
- 24. html5データ属性のAngular 2 Template Parse Error
- 25. html5データ属性を変更する
- 26. 属性エラー:「timer」オブジェクトに属性「ダウンロード」がありません
- 27. クラス属性宣言:プライベートvs公開
- 28. 任意の要素vs属性
- 29. JSFコア・タグ:setPropertyActionListenerと属性vs param
- 30. 属性vs this.attributes in backbone 0.5.3ソースコード