私は、以下のこのコントローラを持っている:MultiPartファイルを取得し、Springで1回のリクエストでデータをフォームする方法は?
@RequestMapping(value="/upload", method=RequestMethod.PUT)
public ResponseEntity<String> handleFileUpload(
@RequestParam("file") MultipartFile file,
@RequestBody Campaign inputCampaign,
Principal principal) {
私は、ユーザーのビデオのためのデータを保持しているオブジェクトがある@RequestBody Campaign inputCampaign
を、持っていない、とビデオをアップロードし、適切なディレクトリにそれを保存するたびにそれが正常に動作します。
しかし、アップロードしたファイルとキャンペーンに関連付けられたフォームデータを1回のリクエストで受け取り、キャンペーンに関する関連情報(タイトル、説明など)を保存できるようにしたいと思います。 。
私は上記のコントローラを使用しよう、と私はポストマンでリクエストを送信しようと、私は下に、このエラーが出る:
"timestamp": 1473349676109,
"status": 415,
"error": "Unsupported Media Type",
"exception": "org.springframework.web.HttpMediaTypeNotSupportedException",
"message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundaryTVc9eDC2a2elulOx;charset=UTF-8' not supported",
"path": "/dashboard/upload"
ここに私の郵便配達依頼のセットアップです:
1回のリクエストでキャンペーンフォームのデータとファイルを送信するにはどうすればよいですか?キャンペーンオブジェクトには多くのフィールドがありますので、各フォームフィールドのコントローラパラメータに@RequestParam
を入れる必要はありません。 Jacksonはプロパティを自動的にマップする必要があります。
どのようなタイプのファイルをそのRequestMappingに送信しようとしていますか? – px06
@ px06は現在、jpg、png、およびmp4を送信できます。 '@RequestBody Campaign inputCampaign'を取り除くとすべて動作しますが、自動的に' Campaign'オブジェクトにマップされるファイルでフォームデータを受け取ることができます(SpringのJacksonライブラリがこれを自動的に行います) –