12

この記事を見た後: http://lollyrock.com/articles/express4-file-upload/

Multer は、アップロードするフォーム フィールドの名前を知らなくても、ファイルのアップロードを許可していたことに気付きました。たとえば、この記事の「Multer を使用する」セクションを見ると、ライターが.single().array()、または.fields()を呼び出すときに を使用していないことがわかりますapp.use()。現在のバージョンの Multer でこれを行うと、エラーが発生しますTypeError: app.use() requires middleware functions

.single().array()、またはの使用方法については少し考えがありますが.fields()、現在のプロジェクトでは、不特定の量のファイルをサーバーに送信する必要があります (一連の.pngまたは.logファイルである可能性があります)。そのため、事前にフィールド名がどうなるかわかりません。

記事で使用した Multer のバージョン (0.1.6) では簡単に実行できましたが、現在のバージョンの Multer (1.0.3) で実行しようとすると、フォーム フィールド名を指定する必要があるため、不可能に思えます。

あるいは、Multer の完全なガイドをオンラインで見つけるのは困難でした。GitHub リポジトリの Readme が最適なようで、それが欠けているように思われるからです。私が探している答えは、どこかのガイドにあるかもしれません。

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

4

4 に答える 4

3
multer().any();

テストしていませんが、動作するはずです。

于 2016-01-21T13:35:02.233 に答える
0

.array('name') を使用するだけで、名前と同じフィールドを持つファイルをいくつでも受け取ることができ、クライアント側でこの anme を引数として定義することもできます。私はこの同じアプローチを使用しています。お気軽にコメントしてください:)

于 2015-10-23T21:23:07.947 に答える