[解決済み] Ruby on Railsのsend_dataとsend_fileの違いは何ですか?
2023-07-08 01:01:35
質問
ストリーミングやファイルダウンロードに最適なのはどれですか?
例を示してください。
どのように解決するのですか?
send_data(_data_, options = {})
send_file(_path_, options = {})
ここでの主な違いは、DATA(バイナリコードでも何でも)を send_data でファイルのPATHを渡すか send_file .
このように、データを生成してインラインテキストや添付ファイルとして送信することで、サーバにファイルを生成することなく send_data . また、準備できたファイルを send_file
data = "Hello World!"
send_data( data, :filename => "my_file.txt" )
または
data = "Hello World!"
file = "my_file.txt"
File.open(file, "w"){ |f| f << data }
send_file( file )
パフォーマンス的には、一度ファイルを生成して、それを何度でも送信する方がよいでしょう。そのため
send_file
の方が適しています。
ストリーミングについては、私が理解する限り、この両方の方法は同じオプションと設定の束を使用するので、X-Sendなどを使用することができます。
UPD
send_data とファイルを保存します。
data = "Hello World!"
file = "my_file.txt"
File.open(file, "w"){ |f| f << data }
send_data( data )
関連
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み] Rubyのincludeとrequireの違いは何ですか?
-
[解決済み] Ruby on Railsで、DateTime、Timestamp、Time、Dateの違いは何ですか?
-
[解決済み] RailsのERBにおける<%、<%=、<%#、-%>の違いは何ですか?
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み】Rubyのincludeとextendの違いって何?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] Railsでグループとカウント
-
[解決済み] rails/rubyでgroup_byを使用する。