Node.js、Express.js、Mongodbを組み合わせたモバイルクライアントアプリケーション用のRESTful APIを開発しています。現在、ユーザープロフィール画像のアップロードを処理しようとしていますが、express.appがmultipart/form-を処理できるようにする「multer」(express.jsチーム自身が推奨するモジュール)と呼ばれるモジュールを見つけました。データ要求。次に、アプリとさらにアップロード機能をテストする必要がありますが、http-formリクエストをシミュレートすることはできません(postman chrome plugin)を使用します。Multerはこのエラーを返します。
[エラー:マルチパート:境界が見つかりません]
実際、(動作する)http-formリクエストをカスタムhttpリクエストと比較すると、2番目のリクエストにはBoundaryヘッダープロパティがありません。
境界プロパティとは何ですか?
マルチパート形式の境界は、テキストデータとバイナリデータを区切る区切り文字列を示します。郵便配達員でこれを行うことができますが、ファイルとテキストの両方を送信していないように聞こえるので、郵便配達員はデフォルトで通常のフォームを使用する場合があります。次のようなものを見ますか?
Postmanでプレビューをクリックすると、Content-typeヘッダーと本文に境界が表示されます。
Postmanを使用している場合は、ヘッダー「Content-type」:「multipart/form-data」を削除してみてください。私はそれを削除し、今では動作します。
ソリューション:
1)クライアントで_content-type
_を指定しないでください
2)convention(imageUpload)
の命名をフィールド名と同じupload.single('imageUpload')
で使用する