0

クライアントによってアップロードされたファイルの数がわからない場合、ExpressJS を使用して複数のファイルのアップロードを処理する必要があります。

244 個を超えるファイルをアップロードしようとすると、サーバーがクラッシュします。アップロード フォームと uploadHandle アクションの間のアップロード中にエラーがスローされます。(ファイルがすべて /public/upload フォルダーにコピーされるわけではなく、最初の 244 のみがコピーされます)

10000 に設定したとしても、誰かがさらにファイルをアップロードしようとするとサーバーがクラッシュするため、 ulimitの制限を増やすことは少し汚いようです。

それを処理するきれいな方法はありますか?

ありがとうございました。

4

1 に答える 1

1

一度にそれほど多くのファイルを作成しないのが正しいアプローチのように感じます。従来のブラウザーをサポートする必要がない場合は、 HTML5 ファイル APIを使用してブラウザーでキューに入れるなど、いくつかの方法でこれを処理できます。

開いているファイル ポインターを作成せず、それらをメモリにバッファリングしないように、受信時にサーバー側でファイルをストリーミングすることもできます。これらのファイルをすべて開いて何らかの方法で処理する必要がある場合は、提案されているように、node-graceful-fsがその領域で役立ちます。

于 2013-04-12T02:40:10.543 に答える