2017-04-11 4 views
0

websocketを介してファイルデータを受信して​​おり、これをダウンロードしてユーザに提示したいと考えています。大きなデータファイルをwebsocket経由でダウンロードしてストリーミングする

解決策の1つは、ブロブを作成し、ファイル全体を受信した後にURL.createObjectURLを使用することです。しかし、ファイル全体が最初に受信されるのを待つのではなく、すぐに受け取ったバイトを(標準ダウンロードとして)ユーザーにストリーミングすることを好むでしょう。

これは、大きなファイルの場合に特に重要です。

+0

ユーザーのコンピュータにデータを書き込むことができないため、これを行うことはできません。ダウンロード操作はブラウザでのみ管理しています。セキュリティ上の理由から、javascriptでこれを行うことはできません。 – kodmanyagha

答えて

0

@kodmaynaに言及しているように、ストリームとしてダウンロードして結果を提供することはできません。あなたの進捗状況に影響を与える、注意すべき

3点:ネイティブのブラウザで

  1. 読み取り/書き込みストリームまだ実験的/非標準です。
  2. ブラウザはノードアプリケーションを実行可能ファイルとしてバンドルしない限り、JSを介してファイルシステムにアクセスすることはできません。
  3. Read/WriteStreamsはパイプで接続する必要があります(ダウンロードはファイル全体を保持しています)
関連する問題