2

example.com などで Rails アプリケーションを使用しています。あらゆる種類のファイル (ビデオ、画像など) にクラウド ストレージ プロバイダーを使用しています。いいえ、実際の保存場所の URL を公開せずにダウンロードできるようにしたいと思います。そこで、一種のプロキシを考えていました。次のような単純なコントローラー:

data = open(params[:file])
filename = "#{RAILS_ROOT}/tmp/my_temp_file"

File.open(filename, 'r+') do |f|
  f.write data.read
end

send_file filename, ...options...

(リンクから取得したコード)。

ポイントは、最初にファイルをダウンロードする必要があるということです。そのため、最初にクラウドストレージからダウンロードせずに、ファイルをすぐにストリーミングできるかどうか疑問に思っていました.

最高のフィリップ

4

1 に答える 1

1

私は少し前にこの正確な問題に取り組んでいましたが、ファイルをサーバーにダウンロードしてからクライアントに渡す必要がないという結論に達しました。ユーザーがページのダウンロード リンクをクリックするたびに、非表示の iframe に挿入する、署名済みの期限切れのダウンロード リンクを生成することをお勧めします。このようにして、ファイルがサーバーへの不要なラウンドトリップを行うことなく、ページからダウンロードする経験を得ることができます.

于 2013-01-17T23:12:35.483 に答える