私のウェブサーバが別のサーバから大きなファイルをダウンロードしている場合、ウェブサーバがファイルをダウンロードすると同時に、そのファイルをウェブブラウザにローカルダウンロードとしてストリームすることは可能ですか?Webサーバーは、現在ブラウザにダウンロードしているファイルをどのように提供できますか?
可能であればどのような技術がこれを使用しますか?どんな洞察も役に立つでしょう。
私のウェブサーバが別のサーバから大きなファイルをダウンロードしている場合、ウェブサーバがファイルをダウンロードすると同時に、そのファイルをウェブブラウザにローカルダウンロードとしてストリームすることは可能ですか?Webサーバーは、現在ブラウザにダウンロードしているファイルをどのように提供できますか?
可能であればどのような技術がこれを使用しますか?どんな洞察も役に立つでしょう。
これは可能ですが、それほど簡単なことではありません。ダウンロードプロセスとストリーミングプロセスは互いに認識している必要があります。そのため、ストリーミングプロセスは、データがダウンロードされるよりも速くストリーミングされると、データが使用可能になるまで待機します。
組み込みのWebClient
クラスを使用してファイルをダウンロードし、同時にストリーミングプロセスにファイルを読み取らせることはできません。ストリーミングプロセスがファイルの終わりに達すると、ストリーミングプロセスは完了したと見なしてストリーミングを停止します。
もっと複雑なHttpWebRequest
クラスを使用する必要があります。それはあなたにダウンロードプロセスのストリームを与えるでしょう。ストリーミングスレッドがダウンロードされたデータにアクセスできるように、スレッド間でデータを同期する必要もあります。