Fileオブジェクトとカスタムモデルオブジェクトを1回のリクエストで送信したいと思います。角度4と春休み:ファイルとモデルオブジェクトを含むFormDataを1回のリクエストで投稿する方法
let formData:FormData = new FormData();
let file = this.fileList[0];
formData.append('file', file, file.name);
formData.append('address', JSON.stringify(customObj));
...
this.http.post(fileServeUrl, formData)
私のバックエンドは、私は私も、ファイルと一緒に、単純な文字列を渡すと、データを受信することができました
@RequestMapping(value = "/fileServe",
produces = {"application/json"},
consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE},
method = RequestMethod.POST)
ResponseEntity<Image> uploadFile(@RequestPart("file") MultipartFile imageData, @RequestPart("address") Address address) throws IOException {...}
以下のように春の休憩です。
formData.append('file', file, file.name);
formData.append('address', addressText);
@RequestMapping(value = "/fileServe",
produces = {"application/json"},
consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE},
method = RequestMethod.POST)
ResponseEntity<Image> uploadFile(@RequestPart("file") MultipartFile imageData, @RequestPart("address") String addressText) throws IOException {...}
私は私のカスタムオブジェクトのための@RequestBodyを試みたが、でもそれが機能しなかったバックエンド
。いずれか助言してください。
今のところ、JSON形式の文字列を渡そうとしました。カスタムオブジェクトに変換するためにGSONを使用しました。この方法では、引数リストの一部として複数のパラメータを送信する必要はありません。 'ResponseEntity uploadFile(@RequestPart "ファイル")MultipartFile imageData、@RequestPart( "addressObjectInJson")String addressObjectInJson) ' –
nsk