私は別のサーバからファイルをダウンロードするためのリンクを持ったレールアプリケーションを持っています。 実際のファイルのURL /場所が「容易に」検出されないようにしたい。Rails:別のサーバからファイルをダウンロードする(ファイルを読むことなし)
send_fileを使ってみましたが、これはローカルファイルでのみ動作するようです。
私はsend_dataで試してみました。これは最初にファイルを読み込んだときにのみ動作します(例:file.open ...)。ファイルの一部が非常に大きいので、ファイルを読み込まずに送信できるようにしたいのですが、ユーザーのフィードバックなどはありません。
基本的に、私は単純に直接ファイルURLへのリンク/提供:ブラウザからダウンロードが開始され、ブラウザから開始されます。
私が言いましたように、コントローラを使って(send_file/dataメソッドを使用して)私のダウンロードを処理したいのは、ファイルの場所を「容易に」検出できるようにすることです。
私は十分にこのことを説明しました:)何かアドバイス
乾杯、 ジョンのための
感謝を願っています。
お返事と情報ありがとう!これは小さなファイルには効果的ですが、大きなファイルに対しては(ファイルの内容を読むと思われます)ハングします。ブラウザからダウンロードを開始するだけでよいので、ユーザーは少なくともブラウザのUIコンポーネントなどからダウンロードの進行状況を見ることができます。 単純にhrefからサーバー/ファイルを指す場合と同じ動作です。 –
'send_data'を試しましたか?これは 'self.response_body ='よりも速く走っていました。 –
はい、私はsend_dataを試みました、その遅い:)(私は大きなファイルを持っています)...基本的に、私はそれを開く/ファイルを最初に読むことなくダウンロードを開始したい。 –