2017-03-22 8 views
0

現代的なブラウザのWebアプリケーション用に、適切な方法(インターネットプロトコル、ブラウザAPIなど)があるかどうか、 (私の場合、nodejsですが、質問はクライアント側に焦点を当てています)、クライアントのファイルシステム内の1つの大きなファイルに保存します。データの量が大きすぎてAppの割り当てられたメモリに完全にバッファされないと仮定するので、何らかの形でプロセスがストリームから直接データのチャンクをファイルに直接追加する必要があると推測します。Webアプリケーション - ローカルファイルに非常に大きなデータストリームを保存する

データは、基本的に何万ものdbレコードで、csvなどの形式で書き込まれる必要があります。

私はここで何か意味があります。

おかげ

+0

あなたは_normal_ファイルのダウンロードのような意味ですか?別名、サーバー上でファイルを生成し、そのファイルをクライアントに送信する。 – George

+0

@Georgeいいえ、サーバーはdbからデータをストリーミングし、クライアントはファイルを処理してビルドする必要があります – Israel

+0

'pipe()'を使います。 https://nodejs.org/dist/latest-v6.x/docs/api/stream.html#stream_readable_pipe_destination_options –

答えて

0

適切方法があった場合は尋ねました。いいえ、私は恐れていますが、それはひどくサポートされており、新しいものです。しかし、もしあなたがとにかくやってみると勇気があれば、これはあなたが持っているものです。

1.あなたは、あなたがFetch APIを使用することができますIEをサポートする必要がない場合は、Webサーバー

からのデータのストリームを取得します。 this questionを参照してください。 IEをサポートする必要がある場合、websocketを使用して一度に小さなビットを押し込むことができます。

2.ディスクへのデータのストリームを書き込む

StreamSaver.jsReadableStream APIを使用してこれを実現しようとするプロジェクト、しかし、それは現在唯一のオペラとChromeで動作します。

関連する問題