ユーザーがコンテンツをアップロードできるようにする簡単なアプリを開発しています。私はExpressが受け入れるファイルサイズを制限したい。私はExpress(node.js)のアップロードファイルサイズを動的に制限する
app.use(express.limit('2mb'));
を使用することができます知っているが、私は動的を制限を変更したいです。特定のユーザーには上限があります。
content-length
ヘッダーを最初にチェックするのが最善の解決策で、ファイルサイズが制限を超えていても、ファイルのアップロードがディスク(/ tmpディレクトリ)に自動的に保存されている場合は、THENがアップロードを解析します。だから誰かが1GBのファイルを送信した場合、私はそれを許可したくないときでも、このファイルは解析され、ディスクに保存されます。
ありがとうございます!
Hmm .. app.use(express.limit(1)) '(1バイト)を設定しても、アップロードされたファイルはディスクにフラッシュされます。 'content-length'が1バイトより大きければ、' limit'はリクエストを破棄すると思っていました。 編集:OK。すべてが期待どおりに機能します。 'limit'ミドルウェアは' bodyParser() 'の前に置かなければなりません – Pono
@ 250r:リンクが死んでいます。 – Max