2011-12-31 13 views
1

私のウェブサーバが別のサーバから大きなファイルをダウンロードしている場合、ウェブサーバがファイルをダウンロードすると同時に、そのファイルをウェブブラウザにローカルダウンロードとしてストリームすることは可能ですか?Webサーバーは、現在ブラウザにダウンロードしているファイルをどのように提供できますか?

可能であればどのような技術がこれを使用しますか?どんな洞察も役に立つでしょう。

答えて

1

これは可能ですが、それほど簡単なことではありません。ダウンロードプロセスとストリーミングプロセスは互いに認識している必要があります。そのため、ストリーミングプロセスは、データがダウンロードされるよりも速くストリーミングされると、データが使用可能になるまで待機します。

組み込みのWebClientクラスを使用してファイルをダウンロードし、同時にストリーミングプロセスにファイルを読み取らせることはできません。ストリーミングプロセスがファイルの終わりに達すると、ストリーミングプロセスは完了したと見なしてストリーミングを停止します。

もっと複雑なHttpWebRequestクラスを使用する必要があります。それはあなたにダウンロードプロセスのストリームを与えるでしょう。ストリーミングスレッドがダウンロードされたデータにアクセスできるように、スレッド間でデータを同期する必要もあります。

関連する問題