HTTP範囲要求の開始&終了バイトを判別することが可能か、ブラウザにどこから開始して何らかのユーザー定義されたチャンクサイズ程度である。 データベースにファイルがあり、複数のチャンクに分割されています。各チャンクは2 MBです。HTTP範囲要求の開始と終了のバイト(nodejs + mongodb)を決定する方法
例えば、 20MBファイル=> 10チャンク
ブラウザがファイル(ビデオファイル)のダウンロードを開始すると、私はクロムを調べた後、最初に'range=bytes 0-'
のバイト範囲をチェックし、サーバーが正しく「正しい」バイトと206のヘッダー背中、それはあなたのサーバーは、それが送信されますように、私は私のアプリをコード化しているサーバーサイドでパーシャルレスポンス
のためによく応答するかどうかそれはちょうどcheckes
、ファイルなど'range=bytes 1900000-'
の最終バイトのために別のリクエストを送信しますあなたがうまくそれを求めるなら、2 MBの部分的なもの:
私は、ブラウザが
range=bytes 0-'
range=bytes 2000000-4000000 bytes'
range=bytes 4000000-6000000 bytes'
を行うには何をしたいしかし、あなたは2メガバイトのチャンクにフィットdoesntのどの部分に言わせれば、それはエラーが発生します。または、オーディオ/ビデオファイルの正しい位置から再生されません。
range=bytes 2500000-4000000 bytes'
range=bytes 0-1000000 bytes'
私はチャンクの一部から送信を開始することはできませんので、これはエラーになります。それ以外の場合、私はチャンクをスライスして、いくつかのバッファ操作を行う必要があります。しかし、私はそれをきれいに保ちたい。 可能であれば教えてください。
私はmp4だけでなく、オーディオファイル、isoファイルなど、他のファイルタイプの部分的なダウンロードも実装しています。moovインデックスについては知らなかった。しかし、それがMongoDBグリッドでどう機能するのか不思議です。 mongodb nodejsドライバは、ファイルを複数のまとまりに分割します。ファイルを取得する場合、mp4は完全にストリーミングを開始し、シーク可能です。彼らは間違いなく要求されたバイトの範囲と一致するようにチャンクのバッファの長さをスライス..しかし、まだそこには、情報ありがとう – webmaster